虚拟机位数
|
头对象结构
|
说明
|
32/64bit
|
Mark Word
|
存储对象的hashCode、锁信息或分代年龄或GC标志等信息
|
32/64bit
|
Class Metadata Address
|
类型指针指向对象的类元数据,JVM经过这个指针肯定该对象是哪一个类的实例。
|
锁状态
|
25bit
|
4bit
|
1bit是不是偏向锁
|
2bit 锁标志位
|
无锁状态
|
对象HashCode
|
对象分代年龄
|
0
|
01
|
锁状态
|
25bit
|
4bit
|
1bit
|
2bit
|
|
23bit
|
2bit
|
是不是偏向锁
|
锁标志位
|
||
轻量级锁
|
指向栈中锁记录的指针
|
00
|
|||
重量级锁
|
指向互斥量(重量级锁)的指针
|
10
|
|||
GC标记
|
空
|
11
|
|||
偏向锁
|
线程ID
|
Epoch
|
对象分代年龄
|
1
|
01
|