Java多线程- ConcurrentHashMap 基础容器类ArrayList、LinkedList、HashMap都是非线程安全的,在多线程环境下使用这些容器会出现线程安全问题,为了保证线程安全,java使用内置锁Synchronized提供了一套线程安全的同步容器类,比如Vector、HashTable、Stack,这些同步容器实现线程安全的方式是在需要同步的方法上添加关键字synchronized,而在线程征用的场景下synchronize 2022-04-10 JUC #总结 #线程安全集合类 #juc #并发编程
MySQL-日志 MySQL有不同类型的日志文件,用来存储不同类型的日志,分为 二进制日志 、 错误日志 、 通用查询日志和 慢查询日志 ,这也是常用的4种。 MySQL 8又新增两种支持的日志: 中继日志 和 数据定义语句日志 。 使用这些日志文件,可以查看MySQL内部发生的事情。 除二进制日志外,其他日志都是 文本文件 。 默认情况下,所有日志创建于 MySQL数据目录 中,即/var/l 2022-04-08 MySQL #Linux #数据库高级 #日志文件 #主从复制
MySQL-锁 对于 InnoDB 引擎来说,读锁和写锁可以加在表上,也可以加在行上。 1.从数据的操作类型划分**读锁/共享锁(Shared Lock,S Lock)**:即S锁, **写锁/排他锁(Exclusive Lock,X Lock)**:即X锁 对于读操作: 对读取的记录加上S锁: 123select ... lock in share mode;#或select ... 2022-04-07 MySQL #Linux #数据库高级 #锁
MySQL-MVCC MVCC,即(Multiversion Concurrency Control)多版本并发控制, MVCC 是通过数据行的多个版本管理来实现数据库的 并发控制 。这项技术使得在InnoDB的事务隔离级别下执行 一致性读 操作有了保证。 最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行。 解决脏读、不可重复读、幻读这些问 2022-04-07 MySQL #Linux #数据库高级 #MVCC
MySQL-InnoDB中数据存储结构(页) 1.页的概念 磁盘和内存交互的基本单位是页,一次最少从磁盘读取一个页的内容到内存中。 数据库的存储结构也是页,InnoDB将数据划分为若干个页,InnoDB中页的默认大小是16KB,因此在数据库中,无论读一行还是多行,都需要将这些行所在的页加载到内存,即数据库I/O操作的最小单位是页。 数据库中多个页可以不在物理结构上相连,只需要通过双向链表相互关联即可,每个数据页中的记录按照主键值 2022-04-07 MySQL #Linux #行格式 #页格式 #数据库高级
MySQL-数据库调优 数据库调优的步骤: 1.分析1.1 查看系统性能参数1SHOW [GLOBAL|SESSION] STATUS LIKE '参数'; 一些常用的性能参数如下: • Connections:连接MySQL服务器的次数。 • Uptime:MySQL服务器的上线时间。 • Slow_queries:慢查询的次数。 • Innodb_rows_read:Select查询返回的行数 2022-04-07 MySQL #Linux #数据库高级 #EXPLAIN
MySQL-事务 在 MySQL 中,只有InnoDB 是支持事务的。 1.什么是事务事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。这里的一组操作就是在开启事务后进行了一些增删改操作,即事务对应着一个或多个数据库操作。 事务处理的原则:保证所有事务都作为 一个工作单元 来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),那么这些修改 2022-04-07 MySQL #Linux #数据库高级 #事务 #日志
MySQL-范式 在关系型数据库中,关于数据库表设计的基本原则、规范就称为范式(NF)。 目前关系型数据库有六种常见范式,按照范式级别,从低到高分别是: 第一范式(1NF) 字段不可再拆分,具有原子特性(最小粒度) 第二范式(2NF) 表中字段不存在除额外的依赖关系 比如:成绩表 (学号,课程号,成绩)关系中,(学号,课程号)可以决定成绩,但是学号不能决定成绩,课 程号也不能决定成绩,所以“(学号,课程号)→成 2022-03-27 MySQL #Linux #数据库高级
MySQL-索引 索引是存储引擎用于从海量数据中快速找到数据记录的一种数据结构,MySQL在进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描。 索引是在存储引擎中实现的,因此每种存储引擎的索引实现不一定完全相同。 优点:索引可以减少磁盘I/O的次数(把页面从磁盘加载到内存中耗时长),加快查询速率。 缺点:创建索引和维护索引需要耗费时间,并且索引需要占用 2022-03-25 MySQL #Linux #数据库高级
每天一个小技巧~ md文件 字体颜色 这是蓝色的字体 这是红色的字体 12<font color='blue'>这是蓝色的字体</font><font color='red'>这是红色的字体</font> 2022-03-24 技巧 #技巧