HashTable、HashMap 和 ConcurrentHashMap 是 Java 中三种重要的 Map 实现,以下是详细对比:
1. 线程安全性

ConcurrentHashMap 实际执行流程


二、性能对比
-
单线程环境 :
HashMap>ConcurrentHashMap≈HashTable(
HashTable和ConcurrentHashMap有同步开销) -
多线程并发环境 :
ConcurrentHashMap>>HashTable因为
ConcurrentHashMap锁粒度更细(锁住桶或链表头节点),HashTable是全局锁。
三、总结对比表

简单记忆:
-
要线程安全且高并发 → ConcurrentHashMap
-
单线程 → HashMap
-
避免使用 HashTable(历史遗留,性能差)