摘要:
一、重量锁的数据结构 1、 Synchronized升级到重量锁以后,会创建一个ObjectMonitor对象,对象中会有:当前持有锁的线程、WaitSet(保存处于Waiting状态的线程)、EntryList(保存处于Blocked状态的线程) 2、重量锁本质:重量锁使用操作系统底层的 Mute 阅读全文
摘要:
一、JVM参数设置参考 关闭延迟:-XX:BiasedLockingStartupDelay=0 设置JVM关闭偏向锁:-XX:UseBiasedLocking=false 打印JVM启动参数: -XX:+PrintFlagsFinal 二、释义 1 批量重偏向锁:当对某个类的对象偏向锁批量撤销20 阅读全文
摘要:
(锁源码文件:bytecodeInterpreter.cpp) 问题: 1 偏向锁加锁前,加锁中,加锁后头变化 2 偏向锁升级轻量级锁,升级前,轻量锁,和轻量级锁完成对象头变化 结论: 1 偏向锁加锁前,对象头标识 101,没有保存线程ID 2 偏向锁加锁 ,对象头标识101,保存线程ID(1 当前 阅读全文