8. 简述Java的对象结构

Java对象由三个部分组成:对象头、实例数据、对齐填充

  • 对象头:由两部分组成,
    1)第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID、偏向时间戳;
    2)第二部分是指针类型,对象指向它的类的元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。如果是数组对象,则对象头中还有一部分用来记录数组长度。

  • 实例数据:用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)

  • 对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐)

可参考:https://cloud.tencent.com/developer/article/1983228

posted on 2025-01-08 21:54  南柯易梦  阅读(71)  评论(0)    收藏  举报