基础知识我爱编程Java进阶

Java对象头

2018-04-15  本文已影响108人  kindol

HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。

如果对象是数组类型,则JVM用3个字存储对象头;否则,使用2个字

长度 内容 说明
32/64bit mark word 存储对象的hashCode或者锁信息
32/64bit Class metadata address 存储对象描述数据的指针
32/64bit Array length 数组的长度(如果当前对象为数组)

HotSpot JVM的对象头包括二/三部分信息

Java对象头的Mark Word里默认存储对象的HashCode、分代年龄和锁标志位,以下图32位机型为例

Markword
上一篇下一篇

猜你喜欢

热点阅读