2022-08-24 Java 里面对象的内存布局

当程序员用new Object() 创建出一个对象的时候 一般对象内存由这四部分组成

1. markword ( object header) 4个字节 一般用来记录锁信息, GC信息,以及 identity hashcode

2. classpointer ( object header) 4个字节 指向数据存储位置

3. instance data 基于object本身有多少数据 例如有成员变量int 则为4个字节

4.padding 字节补齐 补到能够被8整除


实用工具 : org.openjdk.jol.info.ClassLayout

ClassLayout可以用来查看对象内部结构

Maven 依赖

<dependency>

            <groupId>org.openjdk.jol</groupId>

            <artifactId>jol-core</artifactId>

            <version>0.9</version>

</dependency>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容