摘要:
按粒度划分 全局锁 概念 全局锁就是对整个数据库实例加锁。 应用场景 全库逻辑备份(mysqldump) 实现方式 MySQL 提供了一个加全局读锁的方法,命令是Flush tables with read lock (FTWRL)。 当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线 阅读全文
摘要:
B Tree B-树 即B树。 指的是 Balance Tree,也就是平衡树,平衡树是一颗查找树,并且所有叶子节点位于同一层。 每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点。 所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中。 B+ Tree 是 B 树的一种变形 阅读全文
摘要:
Spring框架的七大模块 Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。 Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。 Spring DAO:提供了JDBC的抽象层,还提供了声明性 阅读全文
摘要:
工具介绍 模拟优化器执行SQL语句 分析你的查询语句或是结构的性能瓶颈 执行查询会返回执行计划的信息 from 中包含子查询,仍会执行该子查询,将结果放入临时表中 type system:system是const的特例 const:读取一次 eq_ref:primary key 或 unique k 阅读全文
摘要:
定义 双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器。 很多人对“双亲”一词很困惑。这是翻译的锅。“双亲”只是“parents”的直译,实际上并不表示汉语中的父母双亲,而是一代一代很多parent,即parents。 描述:当某个类加载器需要加载某个.class文件 阅读全文
摘要:
数据结构 Hash 对索引的key进行一次hash计算就可以定位出数据存储的位置 很多时候Hash索引要比B+Tree更高效 仅能满足=、in,不支持范围查询 hash冲突问题(数组+链表) B Tree 指的是 Balance Tree,也就是平衡树,平衡树是一颗查找树,并且所有叶子节点位于同一层 阅读全文
摘要:
事务: 事务是指由一组操作组成的一个工作单元,这个工作单元具有原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。 原子性:执行单元中的操作要么全部执行成功,要么全部失败。如果有一部分成功一部分失败那么成功的操作要全部回滚到执 阅读全文
摘要:
要想保证缓存和数据库「实时」一致 当数据发生更新时,我们不仅要操作数据库,还要一并操作缓存,数据库和缓存都更新,又存在先后问题,那对应的方案就有 2 个: 先更新缓存,后更新数据库 先更新数据库,后更新缓存 先不考虑并发问题,正常情况下,无论谁先谁后,都可以让两者保持一致,但现在我们需要重点考虑「异 阅读全文
摘要:
要明白Spring中的循环依赖,得先明白Spring中Bean的生命周期 Bean的生成大致步骤如下: Spring扫描class得到BeanDefinition 根据得到的BeanDefinition去生成bean 首先根据class推断构造方法 根据推断出来的构造方法,反射,得到一个对象(可以发 阅读全文
摘要:
Java中的循环依赖分两种: 构造器的循环依赖:就是在构造器中有属性循环依赖,如下所示的两个类就属于构造器循环依赖 @Service public class Student { @Autowired private Teacher teacher; public Student (Teacher 阅读全文