当程序员用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>