synchronized原理及优化,(自旋锁,锁消除,锁粗化,偏向锁,轻量级锁)
理解Java对象头与Monitor
在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。如下:
实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐。
填充数据:由于虚拟机要求对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐。
而对于顶部,则...
原创
2019-09-02 10:22:10 ·
2781 阅读 ·
1 评论