ConcurrentHashMap
awesome_go
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap 实现源码
以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,所以HashMap是线程不安全的。 我们...原创 2020-03-12 18:06:13 · 133 阅读 · 0 评论 -
ConcurrentHashMap 原理分析
了解ConcurrentHashMap 实现原理,建议首先了解下HashMap实现原理。HashMap 源码解析(JDK1.8) 为什么要用ConcurrentHashMap HashMap线程不安全,而Hashtable是线程安全,但是它使用了synchronized进行方法同步,插入、读取数据都使用了synchronized,当插入数据的时候不能进行读取(相当于把整个Hashtable都锁...原创 2020-03-12 17:18:05 · 152 阅读 · 0 评论