对象内存布局与锁状态
2020-08-09 11:41:26 0 举报
mark word
作者其他创作
大纲/内容
hash:31bit
数组长度(可选)( 64位,开启指针压缩后32位,默认开启)
hashcode生成
重量级锁10
unused:1bit
4bit
hashcode或者线程id
age:4bit
锁状态:2bit
1bit (没有使用)
时间戳,用于批量操作
Klass Word(类型指针 64位,开启指针压缩后32位,默认开启)
锁状态
偏向线程id:54bit
56bit
0000000000000000 56bit
无锁可偏向 (没有偏向)101
对象头
偏向标识:1bit
epoch:2bit
指向对象监视器Monitor的指针:62bit
GC标记11
无锁不可偏向001
unused:25bit
对齐填充
实例数据
最大只能表示15,所以超过15次新生代的对象就移动到老年代
是否偏向
分代年龄
指向线程栈中锁记录的指针:62bit
1bit
没有使用
2bit
Mark Word(64位)
偏向锁(已经偏向)101
62bit
轻量级锁00
收藏
0 条评论
下一页
为你推荐
查看更多