![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDK源码解析
文章平均质量分 95
清風逐尘乀
我在黑夜中游走,为天明而奋斗。
展开
-
ThreadLocal笔记
目录1. 概述2. ThreadLocal存在的坑2.1 内存泄漏问题2.2 线程安全问题3. ThreadLocal的实现细节3.1 get()方法3.2 set()方法3.3 remove()方法:4. InheritableThreadLocal5. 总结1. 概述ThreadLocal中文名叫做线程本地变量,用于解决变量在多线程问题下的并发安全问题,其思路是每一个Thread都保存自己的一份变量副本,该变量副本仅本Thread可以访问和修改,其它线程没有权限访问和修改。ThreadLocal是原创 2021-02-24 23:12:06 · 365 阅读 · 0 评论 -
AbstractQueuedSynchronizer笔记
目录1. 简介1.1 同步队列和条件队列1.2 线程的抽象——Node节点的定义2. 从ReentrantLock的角度看AbstractQueuedSynchronizer2.1 公平锁和非公平锁2.2 acquire()方法2.2.1 tryAcquire()方法2.2.2 addWaiter()方法2.2.3 acquireQueued()方法2.2.3.1 中断的作用2.2.3.2 总流程2.2.3.3 shouldParkAfterFailedAcquire()方法2.2.3.4 parkAndC原创 2021-02-18 23:04:03 · 577 阅读 · 0 评论 -
JDK1.7、JDK1.8的HashMap、ConcurrentHashMap笔记
什么是HashMap?读小学的时候,我们肯定查阅过《新华字典》。以拼音查字法为例,我们先去找某个字的拼音,然后找到该字的页码,再去相应的页码找详细的解释。在这个例子中,拼音-页码就是一个键值对。HashMap就是Java程序员的《新华字典》,我们能够以O(1)的时间复杂度从HashMap中获取值和存储值。作为Java程序员使用频繁的Java类库之一,HashMap在JDK1.7和JDK1.8两个版本中的差别比较大。JDK1.8中引入了红黑树这一数据结构对HashMap做了更进一步的优化,尽可能地降低哈希原创 2021-01-15 00:05:02 · 672 阅读 · 1 评论