![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
OnlyGky
欢迎大家去我的掘金博客围观:
https://juejin.cn/user/3034307824470606/activities
展开
-
Java集合系列---ConcurrentHashMap源码解析
ConcurrentHashMap是Java并发容器的一员,jdk1.8以后的基本的数据结构和HashMap相似,也是选用了数组+链表/红黑树的结构,在jdk1,.7以前则是采用了分段锁的技术。ConcurrentHashMap所有操作都是线程安全的,但获取操作不必锁定,并且不支持以某种防止所有访问的方式锁定整个表。 1 继承关系 public class ConcurrentHashMap<...原创 2019-07-23 20:44:01 · 175 阅读 · 0 评论 -
Java集合系列---红黑树(基于HashMap 超详细!!!)
1 平衡因子: 左右子树 高度之差 LL型 右旋 LR型 -->LL 右旋 RR -->左旋 RL -->RR 左旋 左旋:逆时针旋转红黑树的两个节点,使得父节点被自己的右孩子取代,而自己成为自己的左孩子。 右旋:顺时针旋转红黑树的两个节点,使得父节点被自己的左孩子取代,而自己成为自己的右孩子 2 红黑树的性质: 1)节点是黑色或者红色 2)根节点是黑色的 3)每个叶结点是黑色的...原创 2019-07-20 17:29:04 · 791 阅读 · 0 评论 -
Java集合系列---TreeMap源码解析(巨好懂!!!)
TreeMap底层是基于红黑树实现,能实现根据key值对节点进行排序,排序可分为自然排序和定制排序。 自然排序:TreeMap的所有key必须实现Comparable接口, 定制排序:创建TreeMap的时候,传入一个Comparator对象,该对象负责对TreeMap的所有key进行排序,不需要key实现Comparable接口。 1 基本属性和构造器 //基本属性 //比较器 privat...原创 2019-07-21 14:33:18 · 213 阅读 · 0 评论 -
Java集合系列---LinkedHashMap源码解析
1 首先来看一下LinkedHashMap的继承关系 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V> 可以看出LinkedHashMap是继承了HashMap,它主要在链表的基础上增加了一个双向链表,重复的key值插入不会改变顺序,适用于使用者需要返回一个顺序相同...原创 2019-07-23 10:41:00 · 145 阅读 · 0 评论