一:java对象内存布局 对象在堆内存的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data) 和对齐填充 二:对象在堆内存中的存储布局 三:Sychronized的锁升级 Synchronized用的锁是存在Java对象头里的MarkWord中,锁升级功能主要依赖MarkWord中锁标志位和释放偏向锁标志位 偏向锁:MarkWord存储的是偏向的线程ID 轻量锁:MarkWord存储的是指向线程栈中Lock Record的指针 重量锁:MarkWord存储的是指向堆中的monitor对象(系统互斥量指针)