
HashMap
虎贲啊
这个作者很懒,什么都没留下…
展开
-
jdk中hashmap并发死循环
链表头插法的会颠倒原来一个散列桶里面链表的顺序。在并发的时候原来的顺序被另外一个线程a颠倒了,而被挂起线程b恢复后拿扩容前的节点和顺序继续完成第一次循环后,又遵循a线程扩容后的链表顺序重新排列链表中的顺序,最终形成了环。 jdk8中是链表尾插入,所以不会有这个问题 概念1:Rehash的概念?Rehash 是HashMap在扩容时候的一个步骤。 HashMap的容量是有限的。当经过多次...转载 2018-11-02 15:02:17 · 386 阅读 · 1 评论 -
ConcurrentHashMap
转载地址 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了vola...转载 2018-11-02 15:14:38 · 213 阅读 · 0 评论