在HotSpot虚拟机中,对象在内存区域(java堆中)可分为三块区域----:
1 Header(对象头),包括两部分,第一部分用来存储自身的运行时数据,如hashcode、GC年龄分代。。。;
第二部分是类型指针,指向自己的元数据,即所属类,通过这个属性可以确定属于哪个类
2 接下来是存储真正的信息部分,各种类型字段的内容
3 第三部分是用来补齐的,要求对象大小必须是8字节的整数倍
对象访问的定位
句柄方式: 两次指针定位实现到真正对象实例数据(实例)和类型数据的指针(Class)

直接引用方式:省去一次指针定位

本文深入探讨了HotSpot虚拟机中对象的内存布局,分为对象头、实例数据及填充部分,介绍了对象访问的句柄方式与直接引用方式,帮助理解Java对象在内存中的存储机制。

被折叠的 条评论
为什么被折叠?



