范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

synchronized中重量级锁偏向锁和轻量级锁的区别

  Java1.5之前synchronized是一个重量级锁,Java 1.6对synchronized进行的各种优化后,synchronized并不会显得那么重了。我们先介绍重量级锁,然后介绍优化后的轻量级锁和偏向锁。
  1、对象头以及Mark Word
  1重量级锁
  重量级的synchronized有三个用法:
  普通同步方法,锁的是当前实例对象。
  静态同步方法,锁的是当前类的class对象。
  同步代码块,锁的是synchronized括号里配置的对象。
  上述这三种机制的切换是根据竞争激烈程度进行的:
  在几乎无竞争的条件下, 会使用偏向锁
  在轻度竞争的条件下, 会由偏向锁升级为轻量级锁
  在重度竞争的情况下,会由轻量级锁升级为重量级锁。1.1普通同步方法用法及原理
  用法: public class SynchronizedMethod {     public synchronized void method() {         System.out.println("Hello World!");     } }
  方法调用如下图所示:
  1.当前线程调用指令将会调用当前实例对象,去检查当前实例对象(在堆中)所对应的类方法(在方法区中)方法表中的访问标志(ACC_SYNCHRONIZED)是否被设置;
  2.如果设置了,那么检查此同步对象有没有被锁定,即检查它的Mark Word的锁标志位是不是01,则虚拟机首先在当前线程的栈中创建我们称之为"锁记录(Lock Record)"的空间,用于存储锁对象的Mark Word的拷贝,官方把这个拷贝称为Displaced Mark Word。
  3.执行线程将通过Displaced Mark Word中指向重量级锁的指针,找到Monitor对象的起始地址,获取到monitor对象,获取成功之后才能执行方法体,方法执行完后再释放monitor。在方法执行期间,其他任何线程都无法再获得同一个monitor对象。1.2同步代码块用法及原理
  用法: public static class SynchronizedMethod {     public synchronized void method() {         System.out.println("Hello World!");     } }
  在类中如果某方法或某代码块中有 synchronized,那么在生成一个该类实例后,该实例也就有一个单独的Monitor对象,而static synchronized则是所有该类的所有实例公用得一个Monitor对象。 2偏向锁
  大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,偏向锁可以降低多次加锁解锁的开销。
  偏向锁会偏向于第一个获得它的线程,如果在接下来的执行过程中,该锁没有被其他的线程获取,则持有偏向锁的线程将永远不需要同步。大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。
  当有另外一个线程去尝试获取这个锁时,偏向模式就宣告结束。根据锁对象目前是否处于被锁定的状态,撤销偏向后恢复到未锁定或轻量级锁定状态。
  3轻量级锁
  4总结
  synchronized的执行过程:
  1. 检测Mark Word里面是不是当前线程的ID,如果是,表示当前线程处于偏向锁
  2. 如果不是,则使用CAS将当前线程的ID替换Mard Word,如果成功则表示当前线程获得偏向锁,置偏向标志位1
  3. 如果失败,则说明发生竞争,撤销偏向锁,进而升级为轻量级锁。
  4. 当前线程使用CAS将对象头的Mark Word替换为锁记录指针,如果成功,当前线程获得锁
  5. 如果失败,表示其他线程竞争锁,当前线程便尝试使用自旋来获取锁。
  6. 如果自旋成功则依然处于轻量级状态。
  7. 如果自旋失败,则升级为重量级锁。
  上面几种锁都是JVM自己内部实现,当我们执行synchronized同步块的时候jvm会根据启用的锁和当前线程的争用情况,决定如何执行同步操作;
  在所有的锁都启用的情况下线程进入临界区时会先去获取偏向锁,如果已经存在偏向锁了,则会尝试获取轻量级锁,启用自旋锁,如果自旋也没有获取到锁,则使用重量级锁,没有获取到锁的线程阻塞挂起,直到持有锁的线程执行完同步块唤醒他们;
  偏向锁是在无锁争用的情况下使用的,也就是同步开在当前线程没有执行完之前,没有其它线程会执行该同步块,一旦有了第二个线程的争用,偏向锁就会升级为轻量级锁,如果轻量级锁自旋到达阈值后,没有获取到锁,就会升级为重量级锁;
  如果线程争用激烈,那么应该禁用偏向锁。

习近平向全国广大农民和工作在三农战线上的同志们致以节日祝贺和诚挚慰问央广网北京9月23日消息据中央广播电视总台中国之声新闻和报纸摘要报道,在第五个中国农民丰收节到来之际,中共中央总书记国家主席中央军委主席习近平代表党中央,向全国广大农民和工作在三农iPhone14Pro充电测试5W20W30W35W,四款充电器哪个最快?在充电方面,国产手机已经走在了行业前列,65W已经落后了,大部分旗舰手机已经来到了80W100W,甚至还有厂商量产了200W快充功率,实现了10分钟左右充满100电池的记录。然而作C909客机官宣,C919CR929我们都知道,C909会是什么客机?9月22日国内知名航空轮胎制造商森麒麟在互动平台公开表示,公司已与中国商飞签署相关合作研发协议,开展国产大飞机航空轮胎合作,已进入中国商飞C909及C919培育供应商名录,目前是中车企回应理想ONE停产事件公布售后方案!车主称损失难弥补理想ONE停产风波有新进展。9月23日,南都记者注意到,就新一代理想ONE命名为理想L8,理想汽车在其官方App发布公开信回应车主,相较于此前说明,明确了售后保障的具体内容。理想汽朱珠3岁学钢琴奥数,38岁晒性感内衣照当众热吻,老公评论秀恩爱提到娱乐圈的美女,朱珠算是其中的一位。她在网络平台上,晒出内衣照,看上去女神范儿十足,显得霸气妩媚,引起网友的热议。1984年,她出生在北京,生长在军人世家,他的爷爷是开国少将,爬阿斯托雷将代表巴萨二队比赛,这将成为他在一线队站稳脚跟跳板直播吧9月23日讯据阿斯报报道,为了让托雷得到比赛时间,巴萨教练组和球员都同意让他代表巴萨二队出战比赛,这是解决问题的最佳方案,当地时间周六,他将出战巴萨二队对阵穆尔西亚的比赛。毫女卡车司机又酷又飒?我,13年卡车驾龄,风餐露宿,脸都顾不上洗这是我们讲述的第843位真人的故事我叫姚姚卡车女司机姚姚,41岁,安徽六安人,是一个有着23年驾龄的卡车女司机。每次经过大风垭口加水站时,看到对面山上的提示,我的心情就会无比沉重。美媒美联储激进升息加剧衰退风险据美联社9月21日报道,周三,美联储加大抑制通货膨胀力度,连续第三次加息,将关键利率大幅提高0。75个百分点,并暗示未来还要继续大幅加息,幅度之大将加剧最终出现衰退的风险。报道称,一波三折!阿根廷战斗机采购又出幺蛾子,究竟还会不会选择枭龙?军武次位面作者路芷阿根廷购买战斗机一直是最近一段时间国际军售市场上的热门消息,对于国内军迷来说,自然希望枭龙可以拿下订单。阿根廷也将会成为枭龙战斗机的装备国中机队规模第二大的国家。大熊猫团团疑似脑部病变柯文哲尽力给予最好治疗中国台湾网9月23日讯据台湾联合报报道,大陆赠台大熊猫团团23日出现疑似癫痫症状,检查显示脑部局部病变,台北市长柯文哲今天在社交媒体平台发文表示,熊猫团团圆圆自来到台湾后,其黑白分售价8。98万元,恒润小泰迪上市,续航305公里日前,Auto情报处从相关渠道获悉,恒润小泰迪正式上市,新车定位小型纯电SUV,售价为8。98万元,新车的续航里程达到305公里恒润小泰迪在外观方面的设计,能看出一些吉姆尼的设计元
氨氮高于总氮是什么鬼?总氮包含了氨氮,理论上总氮应该高于氨氮才对。但总会遇到一些不按常理出牌的情况,有时候测量同一份水样结果发现氨氮高于总氮。01氨氮和总氮是怎么测的?实验室里测量特定物质含量一般用分光14nm14nm7nm,麒麟回归?华为回话了对于手机圈来说,一直都有个痛点,那必然是麒麟处理器的消失。你可以嫌华为卖的贵,但不能嫌华为菜,就光这芯片研发技术,华为之后,还真没有国产厂商能拿出手的。当然了,已经有消息称OPPO比特币在2023年击败了沃伦巴菲特的加密赌注比特币在2023年的反弹也让Coinbase的股票今年迄今涨幅超过100,提振了CathieWood的ARK投资组合。2023年,比特币(BTC)和CathieWood的CoinbgRPC与SpringBoot集成1。gRPCSpringBoot选型gRPC官方并未提供gRPCSpringBoot的相关代码库,在github中搜索grpcspringboot,最受欢迎的代码库如下图选择第一个大脑一定是越用越聪明吗?感悟生命,享受自然!大家好,欢迎来到属于你的百科大世界!今天我们围绕的主角就是与我们息息相关的大脑。经科学家研究,我们人类的大脑皮层大约有140亿个神经脑细胞,而经常运用的脑细胞只试试chatgpt4。0解小学方程能不能解对GPT4。0在解方程方面表现得相当糟糕,让许多用户对其智能水平产生质疑。尽管它拥有庞大的知识库和强大的计算能力,但在解决复杂的数学问题时,仍然无法达到人们的期望。实际上,有些简单的全程1790公里,沿途都是美景的豪华旅游专列,还可以洗澡导语平时大家都有坐过火车吧!在上面可以上厕所吃东西睡觉等等。但是能够洗澡的火车有听说过吗?相信大部分人还是不知道的,因为真的太少见了。接下来笔者就给大家好好的介绍一下,这个比高铁还珠海国际会展中心再获中国最具竞争力国际会展中心奖项近日,由中国会展经济研究会主办的第十四届中国会议产业大会在北京举行。珠海国际会展中心作为受邀重点企业之一,于现场集中展示了珠海会展助力产业第一的综合实践经验,并与业界伙伴分享了珠海唱山歌采茶忙,炒茶香品佳肴!梅州清凉山上非遗跨界碰撞阳春三月,清凉山新茶吐绿,又到春茶采摘季。在清凉山往下俯瞰,层层云海,垄垄翠绿,茶田藏身于云雾之中,与采茶妹构成一幅美丽画卷。3月17日上午,梅江区非遗赋能乡村振兴西阳清凉山茶制作靠螺蛳粉出名的小城,竟然有这么多惊喜2023年初的旅游市场可谓是神仙打架各地都拿出了杀手锏,打算大显神通在如此激烈的竞争下有这样一座城市杀出重围,成为了当之无愧的黑马它就是柳州各处人山人海,被挤得水泄不通连柳州本地人4月6日起恢复!三年来首次!2023年3月16日深圳航空无锡大阪航班已开放销售这是近三年来首次复飞该航班从4月6日开始每周四执行一班。无锡大阪航班号ZH8073,无锡起飞时刻0800,抵达大阪时刻1110(当