源码
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 · 177 阅读 · 0 评论 -
Java集合系列---红黑树(基于HashMap 超详细!!!)
1 平衡因子:左右子树 高度之差LL型 右旋LR型 -->LL 右旋RR -->左旋RL -->RR 左旋左旋:逆时针旋转红黑树的两个节点,使得父节点被自己的右孩子取代,而自己成为自己的左孩子。右旋:顺时针旋转红黑树的两个节点,使得父节点被自己的左孩子取代,而自己成为自己的右孩子2 红黑树的性质:1)节点是黑色或者红色2)根节点是黑色的3)每个叶结点是黑色的...原创 2019-07-20 17:29:04 · 798 阅读 · 0 评论 -
Java集合系列---TreeMap源码解析(巨好懂!!!)
TreeMap底层是基于红黑树实现,能实现根据key值对节点进行排序,排序可分为自然排序和定制排序。自然排序:TreeMap的所有key必须实现Comparable接口,定制排序:创建TreeMap的时候,传入一个Comparator对象,该对象负责对TreeMap的所有key进行排序,不需要key实现Comparable接口。1 基本属性和构造器//基本属性 //比较器 privat...原创 2019-07-21 14:33:18 · 221 阅读 · 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 · 155 阅读 · 0 评论