• 欢迎光临~

一个Object对象占用几个字节

开发技术 开发技术 2022-08-06 次浏览

结论:开启压缩指针和不开启压缩指针都是16个字节

开启压缩指针的时候会占用12个字节 为了防止缓存伪共享 会有4个字节的Padding

不开启压缩指针的时候就是16个字节

 

JVM内存分配 OOP 

对象头:  1.MakeOop :存储hashcode   垃圾回收时候的分代年龄  synchronized锁升级过程中的锁标记 (无锁、偏向锁、轻量级锁、重量级锁)   32位操作系统占4个字节 64位操作系统占8个字节

      2.KlassOop: 类元指针 当前实例对象所属哪个类 开启压缩指针的时候占4个字节 不开启到时候 占8个字节

      3.length:init 数组长度 当前对象是个数组的情况下占4个字节

 

实例数据:instance data  存储对象中的字段信息

 

对其填充: padding 按照8个字节的倍数来对齐 避免伪共享

程序员灯塔
转载请注明原文链接:一个Object对象占用几个字节
喜欢 (0)