从Java对象布局markword看syncronized的本质
可以通过以下工具来查看Java对象的布局:JOL=Java Object Layout。 <!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol-core --> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.10</version> </dependency> 先看下在JVM中,一个引用的长度占用多少字节: import org.openjdk.jol.vm.VM; public class JavaObjectLayout { public static void main(String[] args) { System.out.println("------------VM details---------------"); System.out.println(VM.current().details()); } } 这个details()方法由JOL类库中的HotspotUnsafe类实现: 运行结果: 运行结果中可以看到: 1.JVM是64位的HotSpot 2.默认开启oop(Ordinary Object Pointer,普通对象指针)压缩,可设置JVM参数-XX: