HashTable、HashMap和ConcurrentHashMap是 Java 中三种重要的 Map 实现,以下是详细对比:
1.线程安全性
ConcurrentHashMap 实际执行流程
二、性能对比
单线程环境:
HashMap>ConcurrentHashMap≈HashTable
(HashTable和ConcurrentHashMap有同步开销)多线程并发环境:
ConcurrentHashMap>>HashTable
因为ConcurrentHashMap锁粒度更细(锁住桶或链表头节点),HashTable是全局锁。
三、总结对比表
简单记忆:
要线程安全且高并发 →ConcurrentHashMap
单线程 →HashMap
避免使用HashTable(历史遗留,性能差)