问:在HotSpot虚拟机中,请说说对象在内存中存储的布局是什么样的?

参考答案:
对象在内存中存储的布局可以分为3块区域:

对象头(Header)、 实例数据(Instance Data) 和对齐填充(Padding)。

HotSpot虚拟机的对象头包括两部分信息:

  1. 第一部分用于存储对象自身的运行时数据, 如哈 希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时 间戳等。
  2. 第二部分是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。