Java对象由三个部分组成:对象头、实例数据、对齐填充。
-
对象头:由两部分组成,
1)第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID、偏向时间戳;
2)第二部分是指针类型,对象指向它的类的元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。如果是数组对象,则对象头中还有一部分用来记录数组长度。 -
实例数据:用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)
-
对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐)
可参考:https://cloud.tencent.com/developer/article/1983228
标签:Java,对象,简述,实例,线程,对齐,指针 From: https://www.cnblogs.com/tim-zuo/p/18660673