java对象包含哪些内容

java对象的内存布局:
对象头:
包含两部分数据,一部分是运行时数据,包含了对象的hash值,GC分代年龄,锁状态,线程持有的锁,偏向锁等信息
一部分是对象的类型指针,虚拟机通过这个指针确定对象是那个类的实例,如果是数组,还必须包括数据的长度信息
实例数据:
接下来就是对象的成员变量的内容,包括了从父类继承下来的内容
对齐补白:
jvm要求java对象的起始地址必须是8的倍数,所以这部分内容用来对齐

猜你喜欢

转载自blog.csdn.net/wb_snail/article/details/80597182