一个对象的组成:
对象头 + 对象实例数据 + 对齐数据
对象头的组成:
- Mark word 64bit = 8byte
- Klass pointer 32bit/64bit(取决于是否压缩指针)
synchronized就是使用对象头中的Mark word 来标记加锁状态
一个对象在使用synchronized关键字时的5个状态:
- 无锁态 (new出来的时候)
- 轻量锁
- 重量锁
- 偏向锁
- GC标记
一个对象的组成:
对象头 + 对象实例数据 + 对齐数据
对象头的组成:
synchronized就是使用对象头中的Mark word 来标记加锁状态
一个对象在使用synchronized关键字时的5个状态:
相关文章: