关注
对象的结构
1. 对象结构:对象头、实例数据、对齐填充字节
2. 对象头:Mark World、指向类的指针、数组的长度
3. 根据Mark World中锁标志位的不同,可以分为:无锁、偏向锁、轻量级锁、重量级锁
流程
1. JDK 前期的时候,直接使用的是重量锁,后来进行的锁的升级
2. synchronized(Object)
2.1 当第一个线程进来时,会拿到该锁,这时候从无锁状态变成偏向锁状态,在对象头记录该线程的ID
2.2 如果第二次进来时,发现还是该线程,则直接进入即可,反之,则锁升级为轻量锁,并进行自旋操作(CAS),等待着锁的释放
2.3.如果自旋了超过了10次,则会变成重量锁,利用 OS 的 lock 指令实现
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招生月薪1W算什么水平 #
37698次浏览 205人参与
# 一人一个landing小技巧 #
124577次浏览 1447人参与
# “vivo”个offer #
39969次浏览 284人参与
# 如果上班像打游戏,你最想解锁什么技能 #
9050次浏览 73人参与
# 我和mentor的爱恨情仇 #
77067次浏览 426人参与
# 为了实习逃课值吗? #
30345次浏览 277人参与
# 哪一瞬间觉得自己长大了 #
38888次浏览 493人参与
# 工作后明白的那些道理 #
22377次浏览 225人参与
# vivo工作体验 #
28532次浏览 124人参与
# 你见过哪些工贼行为 #
25148次浏览 125人参与
# 我是面试官,请用一句话让我破防 #
27768次浏览 131人参与
# 实习吐槽大会 #
386033次浏览 2156人参与
# 中美关税战对我们有哪些影响 #
43969次浏览 368人参与
# 中美关系回暖,你会选择出海吗? #
7671次浏览 114人参与
# 哪些行业值得去? #
6090次浏览 51人参与
# 华为保温 #
108599次浏览 408人参与
# 和mentor 1on1 都聊什么? #
1330次浏览 18人参与
# 读研or工作,哪个性价比更高? #
78954次浏览 769人参与
# i人适合做什么工作 #
12307次浏览 100人参与
# 美团开奖 #
226949次浏览 1158人参与
# AI时代,哪些岗位最容易被淘汰 #
3951次浏览 27人参与
