1 java对象头的长度
- 如果对象是数组类型,则虚拟机用3个字宽(Word)存储对象头,
- 如果对象是非数组类型,则用2字宽存储对象头。
-
在32位虚拟机中,1字宽等于4字节,即32bit
2 java头对象的存储结构
Java对象头里的Mark Word里默认存储对象的HashCode、分代年龄和锁标记位
-
32位JVM的Mark Word的默认存储结构
-
在64位虚拟机下,Mark Word是64bit大小的,其存储结构
3 Mark Word的状态变化
在运行期间,Mark Word里存储的数据会随着锁标志位的变化而变化。
- Mark Word可能变化为存储以下4种数据
参考
《java并发编程的艺术》