JVM中对象的内存布局之对象头

对象头部分包括两类信息。

  1. 第一类是用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等,称它为“Mark Word”。
  2. 对象头的另外一部分是类型指针,即对象指向它的类型元数据的指针,Java虚拟机通过这个指针来确定该对象是哪个类的实例。
    如果对象是一个Java数组,那在对象头中还必须有一块用于记录数组长度的数据,因为虚拟机可以通过普通Java对象的元数据信息确定Java对象的大小。(求数组的长度length不带括号是因为它不是方法。)
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51963973/article/details/127215611