在HotSpot虚拟机中,对象在内存中存储的布局可分为三个部分:布局
对象头包括两个部分:线程
- 第一部分用于存储对象自身的运行时数据,
- 如哈希码、GC分代年龄、线程所持有的锁等。
- 官方称之为“Mark Word”。
- 第二个部分为是类型指针,
- 即对象指向它的类元数据的指针,
- 虚拟机经过这个指针来肯定这个对象是哪一个类的实例。
实例数据是对象真正存储的有效信息,指针
对齐填充并非必然存在的,仅仅起着占位符的做用。对象
- Hotpot VM要求对象起始地址必须是8字节的整数倍,
- 因此当实例数据部分没有对齐时,须要经过对齐填充来对齐。
