1.说到锁升级的过程,我们就得说一下对象头
对象头
java对象保存在内存中,由3个部分组成:
1. 对象头
2. 实例数据
3. 对齐填充字节
4. 如果是数组还包含数组长度
对象头的存在形式
让我们先看看图,主要来说一下 Mark Word
- markword 8bytes
- class pointer - 指向对象所属的class (一般是4bytes)
- instance data - 成员变量
- padding - 8字节对齐
Mark Word里都有啥
hashcode
GC
锁
为了让你们更好理解我先放一张图