我读了一篇Oracles教程,并提到哈希表不再同步。从何时起? http://docs.oracle.com/javase/tutorial/collections/implementations/index.html 表格后的第三段。
答案 0 :(得分:5)
不,Hashtable
仍然是同步的。您所指的段落甚至如此明确地说:
旧版集合Vector和Hashtable 已同步。
(前句:
[...]这些实现是不同步的事实[...]
指的是表格中不包含HashTable
的集合。)
答案 1 :(得分:4)
遗产类 - Hashtable
- 已同步
现代类 - HashMap
- 未同步。
答案 2 :(得分:2)
根据您指出的段落:
旧版集合Vector和Hashtable已同步。
从Java 7 Hashtable API参考:
与新的集合实现不同,Hashtable是同步的。
(见http://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html)
答案 3 :(得分:0)
来自javadoc:“与新的集合实现不同,Hashtable是同步的。如果不需要线程安全的实现,建议使用HashMap代替Hashtable。”
所以是的,Java 7中的HashTable仍然是完全同步的。