写在前面
先来看下Mark Word
class OneClass{
}
public static void main(String[] args) {
System.out.println(ClassLayout.parseInstance(new OneClass()).toPrintable());
}
从对象实例开始讲起
对象头
实例数据
对齐填充
实例数据和对齐填充
类型指针是什么
Person p = new Person()
详解Mark Word
JOL的引入
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.10</version>
</dependency>
MyClass myClass = new MyClass();
//打印出相关的对象头信息
System.out.println(ClassLayout.parseInstance(myClass).toPrintable());
指针压缩
java -XX:+PrintCommandLineFlags -version