Java对象结构知道吗?
Java对象由三个部分组成:对象头
、实例数据
、对齐填充
对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC
分代 年龄、锁标识状态、线程持有的锁、偏向线程ID
(—般占32/64 bit)。第二 部分是指针类型,指向对象的类元数据类型(即对象代表哪个类)。如果是数 组对象,则对象头中还有一部分用来记录数组长度。
实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)
对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐)
Was this helpful?
0 / 0