对象头布局
Synchronized的锁信息放在Java对象头的MarkWord里
32位虚拟机MarkWord结构
64位虚拟机MarkWord结构
Synchronized通过对象头中的MarkWord后三位来标识锁的类型。
Synchronized在JVM中的实现原理
重量级锁对应的锁标志位是10,存储了指向重量级监视器锁的指针,在Hotspot中,对象的监视器(monitor)锁对象由ObjectMonitor对象实现(C++),其跟同步相关的数据结构如下:
ObjectMonitor(