java对象的存储结构和指针压缩学习


	java对象的存储结构和指针压缩学习
[编程语言教程]

在HotSpot虚拟机里,对象在堆内存中的存储不惧可以划分为三个部分:

对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。

对象头:包含了Mark Word(一定存在),元数据指针(一定存在),数组size(如果这个对象是个数组对象的话)。

实例数据:类元信息中定义的变量数据

对齐填充:可能存在的部分,同对象头一样,为了8字节对齐的无实际意义填充部分。

64位虚拟机来说,低于32G内存,默认开启指针压缩,那么堆中的对象是这样子的。

技术图片

可以使用jol包来观察对象的存储结构,引入pom文件
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.10</version>
</dependency>
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java对象的存储结构和指针压缩学习