摘要:
锁升级过程图解 1、图解锁升级 锁信息记录在markword中: 普通对象:001; 匿名偏向,偏向锁:101; 轻量级锁:00; 重量级锁:10; 对应如下: 2、案例 为了证明以上的过程,我们可以使用一些工具来观察,在这里我们使用JOL(Java Object Layout)。 需要添加依赖: 阅读全文
摘要:
CAS 1、什么是CAS? CAS:又叫 campare and set/Swap/Exchange,自旋锁。 再增加一个知识点: 悲观锁:认为该操作会被别的线程打断; 乐观锁:认为该操作不会被别的线程打断,会消耗CPU资源; 注:悲观锁,各线程在队列里等待,不消耗CPU资源;而乐观锁时,各线程不断 阅读全文