01 2020 档案

摘要:上期回顾: 上次博客我们主要说了我们juc并发包下面的ReetrantLock的一些简单使用和底层的原理,是如何实现公平锁、非公平锁的。内部的双向链表到底是什么意思,prev和next到底是什么,为什么要引入heap和tail来值向null的Node节点。高并发时候是如何保证state来记录重入锁的 阅读全文
posted @ 2020-01-19 16:02 小菜技术 阅读(923) 评论(0) 推荐(1) 编辑
摘要:说完了我们的synchronized,这次我们来说说我们的显示锁ReetrantLock。 上期回顾: 上次博客我们主要说了锁的分类,synchronized的使用,和synchronized隐式锁的膨胀升级过程,从无锁是如何一步步升级到我们的重量级锁的,还有我们的逃逸分析。 锁的粗化和锁的消除 这 阅读全文
posted @ 2020-01-15 15:58 小菜技术 阅读(769) 评论(0) 推荐(0) 编辑
摘要:上几次博客,我们把volatile基本都说完了,剩下的还有我们的synchronized,还有我们的AQS,这次博客我来说一下synchronized的使用和原理。 synchronized是jvm内部的一把隐式锁,一切的加锁和解锁过程是由jvm虚拟机来控制的,不需要我们认为的干预,我们大致从了解锁 阅读全文
posted @ 2020-01-14 15:10 小菜技术 阅读(1666) 评论(5) 推荐(7) 编辑
摘要:上期回顾: 上次博客我们说了我们的volatile关键字,我们知道volatile可以保证我们变量被修改马上刷回主存,并且可以有效的防止指令重排序,思想就是加了我们的内存屏障,再后面的多线程博客里还有说到很多的屏障问题。 volatile虽然好用,但是别用的太多,咱们就这样想啊,一个被volatil 阅读全文
posted @ 2020-01-14 08:32 小菜技术 阅读(712) 评论(2) 推荐(0) 编辑
摘要:貌似两个多月没写博客,不知道年前这段时间都去忙了什么。 好久以前写过一次和volatile相关的博客,感觉没写的那么深入吧,这次我们继续说我们的volatile关键字。 复习: 先来简单的复习一遍以前写过的东西,上次我们说了内存一致性协议M(修改)E(独占)S(共享)I(失效)四种状态,还有我们并发 阅读全文
posted @ 2020-01-13 17:44 小菜技术 阅读(423) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示