对象的内存布局
2019-05-26 11:22:26 17 举报
Hotspot虚拟机开启压缩下的64位对象的内存布局图
作者其他创作
大纲/内容
8B
数组长度区
此区域固在64位系统未开启压缩时是8B
此区域中只会对引用类型的实例属性进行压缩,不会压缩基础类型实例属性
存储数组长度的区域,只有数组才有此区域,因为数组大小可以动态传参,所以在编译期无法确定,故无法从元数据里获取
类型指针区
填充区
存储对象自身的运行时数据,如hashCode、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等
存放从父类继承下来的实例属性,以及本类中定义的实例属性
mark区
4B
此区域固定是font color=\"#ff0000\
实例数据区
Hotspot虚拟机开启压缩下的64位对象的内存布局图
对象头区
当整个对象的大小(对象头区+实例数据区)不是8的倍数时填充字节到8的倍数。所以此区域x满足8B>=x>=0B
0 条评论
下一页