05 2021 档案
摘要:zookeeper实现分布式锁 一:zookeeper分布式锁原理 1:原子性 Zookeeper有写操作有原子性,利用这个特性可以实现分布式锁。 对于来自客户端的每个更新请求,ZooKeeper 具备严格的顺序访问控制能力。 为了保证事务的顺序一致性,ZooKeeper 采用了递增的事务 id 号
阅读全文
摘要:Redis集群策略分析 一:主从模式 结构图 特点 1:主负责写,从负责读。这种方式的话应对比较大的QPS,QPS增大只需要增加slave节点数量就可以了。 2:无法保证强一致性,主从同步存在延迟,只能保证最终的一致性。 3:master宕机的情况下,无法写入,没有办法自动恢复。 二:哨兵模式 结构
阅读全文
摘要:从源码看公平锁和非公平锁得区别 一:理论解释 公平锁:ReentrantLock通过构造器参数设置为true就是公平锁。 非公平锁:synchronized 关键字,ReentrantLock默认就是非公平锁。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位
阅读全文
摘要:【spring源码解读】spring加载流程refresh之prepareBeanFactory(beanFactory) 一:介绍prepareBeanFactory spring启动的核心流程都是在org.springframework.context.support.AbstractAppli
阅读全文
摘要:Synchronized关键字原理,和锁的膨胀过程 一:Synchronized关键字介绍 synchronized是Java中的关键字,用于线程的同步。可以用在三个地方。 1:同步实例方法,锁是当前实例对象; 2:同步类方法,锁是当前类对象; 3:同步代码块,锁是括号里面的对象; 二:
阅读全文
摘要:BeanPostProcessor 接口解读 一:什么时候执行 BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。 public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessB
阅读全文
摘要:图解Spring的循环依赖 前言 Spring的循环依赖是spring架构设计中比较精彩的一环,学习Spring的循环依赖设计,对我们进行业务架构设计还是很有裨益的。 这里通过debug介绍一下,spring如何通过三级缓存来实现循环依赖的。 spring的三级缓存 spring通过三级缓存来实现循
阅读全文
摘要:MVCC原理分析 1:什么是MVCC MVCC是英文名称Multi Version Concurrency Control 的简称,就是多版本并发控制。 MVCC可以说实现,读不加锁,读写不冲突。这个可以大大的提高Mysql的性能。 2:MVCC解决了什么问题 多事务的并发进行一般会造成以下几个
阅读全文