![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合
江湖故人相逢何必曾相识
这个作者很懒,什么都没留下…
展开
-
TreeSet源码解析以及与HashSet和HashMap的区别
继承关系 1.实现Serializable接口,即支持序列化。 2.TreeSet实现了Cloneable接口,意味着它能被克隆。 3.实现Iterable接口,即能用foreach使用迭代器遍历得到集合元素。 4.TreeSet实现了NavigableSet接口,意味着它支持一系列的导航方法。比如查找与指定目标最匹配项。 5.继承AbstractSet,AbstractSet实现set,所以它是一个Set集合,不包含满足element1.eauqals(element2)的元素树, 不重复,并且最多包含原创 2020-09-06 23:25:21 · 112 阅读 · 0 评论 -
ConcurrentHashMap1.8源码解读及如何保证线程安全
写在前面的话 不应该在意起点,而要看向将要去到的地方。 继承关系 具体解释可看之前的文章 底层结构 1.8的数据结构 摒弃了分段锁的概念,启用 node + CAS + Synchronized 代替Segment 去掉了HashEntry结构 当前的 table【(n - 1) & hash】 == null 时,采用CAS操作 当产生hash冲突时,采用synchronized关键字 内部结构和HashMap相同,仍然使用: 数组 + 链表 + 红黑树 默认sizeCtl = 16,初始原创 2020-08-24 00:11:05 · 1132 阅读 · 2 评论