HashMap方法没有synchronized修饰,线程不安全,HashTable线程安全。HashMap允许key和value为null;HashTable不允许。ConcurrentHashMap通过分段锁来保证线程安全,元素查询时会有两次hash,第一次会找到哪一段,第二次会定位到所在链表的头部。
相关文章
- 03-19ConcurrentHashMap 和 Hashtable 的区别
- 03-19Hashtable和ConcurrentHashMap
- 03-19HashMap、HashTable、ConcurrentHashMap使用和原理分析(以及内存优化)
- 03-19HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
- 03-19HashMap的扩容机制, ConcurrentHashMap和Hashtable主要区别
- 03-19为什么HashMap线程不安全,Hashtable和ConcurrentHashMap线程安全
- 03-19HashMap和ConcurrentHashMap和HashTable的底层原理与剖析
- 03-19重新认识Java--HashMap、HashTable和ConcurrentHashMap
- 03-19沉淀再出发:java中的HashMap、ConcurrentHashMap和Hashtable的认识
- 03-19ConcurrentHashMap和 CopyOnWriteArrayList提供线程安全性和可伸缩性 以及 同步的集合类 Hashtable 和 Vector Collections.synchronizedMap 和 Collections.synchronizedList 区别缺点