温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
各位同学大家好,上面给大家讲解了所消除。接下来给大家讲解一下,说粗话老规矩,先上代码再说理论,不然说不清来。还是熟悉的配方,还是熟悉的味道,首先啊,这个呢,就是同一把锁。此时锁比较正常。大家都用它,那么现在假设T1线程啊。过来。一一,我相信这段代码大家没有任何意见,对吧?没有任何意见,也没有任何分歧。下面我的问题是我干了一件无聊的事。啊啊啊。333333444444,那么同学们。不用多说。正常情况下是绝对可以执行的,对吧,1234OK,那么结合我们这个题目,什么叫所粗化呢?来同学们。
01:01
大家觉得啊,我在一个线圈里面要干活的时候,我加锁加了几次,是不是1234啊,对吧,那么加底层的Java虚拟机的这个编译器。他就会做自我的优化和升级,告诉你就是啊,你这么写,语法上确实没有错。但是啊,我底层的执行相当于怎么着。把你这个。四个我干一件什么事,做一种合并,那我们全部的代码。有点类似于只用一个锁就给你搞定,那么这个就是我们的什么粗化效果,OK,好,那么当然啊,在这块的话呢,我们要留着我们的二,留着我们的什么33333OK,所以说你上面写这些语法上没错,但是底层的编译器没这么傻,我们前面是不是讲过什么,就是讲白了,太阳那些书讲过一种东西叫编译器优化,所以说他这的效果是这样的。
02:05
假如。方法中首尾相接啊,你看是不是首尾相接,前后相邻的都是同一个所对象都是它吧,那么编译器将会把这几个生子合并成一个什么大块,那么粗了嘛,现在是以前是四小块,现在给你干成一个大块,那么加粗加大范围,有点类似于这样啊。能理解了吗?就是加粗,加大范围,一次性申请锁的使用就行,行了,避免四次的申请和示范所,从而提升了性能,进来出来进来出来进来出来哇,四次,干脆这样吧。一锅给你端了,那么这样我们是不是就首尾相连嘛,对吧,注意前后相邻,首尾相连,OK,有个前提的都是同一个锁对象,那么这样我们就把它合并成一个大块,哎,那么这个就提升了系统的性能,避免了多次重复繁琐的申请示范,申请示范,那么从而达到了底层编译器的优化和程序性能的提升,OK,那么同学们,这个就是我们的什么所粗化,好,那么这两个明白了以后,那么都不难理解啊,但是就是你去面试的时候,保不准面试官给你来一些高大上的词汇,把你干懵逼了,你跟我解释一下什么叫所消除,什么叫所粗化,其实没什么技术含量,而且底层大家也不会这么写。
03:23
但没办法,现在大家容易这么问好,那所以说大家呢,毕竟嘛啊,多一份准备就少一份风险好,那么最终我们对这个锁升级就给大家介绍到这儿,小总结就四句话,没有所自由自在,偏向所唯我独尊,只有一个县程嘛。轻量所两个,一般是两个啊,就是可以一个在里面,另外一个在CS这样的,那么就是楚汉争霸最好重量极锁了,大家CAS搞不定了,或者太耗时了,那么会产生阻塞了,那么来吧,重量极锁。恢复成我们以前那样的。群雄逐逐鹿,谁抢到就是谁的好,那么感谢各位同学的聆听,那么对于我们的所升级,无所轻量,所偏向,所重量,所以及他们对应的所粗化,所消除的知识,就给大家介绍到这儿。
我来说两句