![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
yjxyoung
这个作者很懒,什么都没留下…
展开
-
HashMap源码分析(jdk1.8)
我们都知道hashMap是数组(Node[] table)和链表结合组成的复合结构,那么hashMap是怎样存储数据,又是怎样减少hash碰撞,链表节点的结构是怎样的,怎样扩容,接下来,我带大家分析一遍源码。先从hashMap的结构说起,我们看看下面的图从图中我们可以很轻易的看出,hashMap的有两种结构,一种是数组+链表,另一种是数组+红黑树。为什么会有这两种结构,他们之间有什么关系?这...原创 2019-06-29 19:49:30 · 85 阅读 · 0 评论 -
分析ReentrantLock(jdk1.8)
ReentrantLock,通常翻译为再入锁,实现Lock接口。再入锁通过代码直接调用lock()方法获取,代码书写也更加灵活。与此同时,ReentrantLock提供了很多实用的方法,能够实现公平性,或者利用定义条件等。但是,编码中也需要注意,必须要明确调用unlock()方法释放,不然就会一直持有该锁。public class ReentrantLock implements Lock, j...原创 2019-07-27 13:51:32 · 258 阅读 · 0 评论