以下是我从一些(希望正确)的研究中得到的答案:
两者都提供相同程度的同步。如果要
Hashtable
遍历Collections.synchronized,则将具有相同程度的同步,但具有另一个冗余层。Hashtable
和之间的主要区别在于Collections.synchronizedMap(HashMap)
API级别。因为它Hashtable
是Java的遗留代码的一部分,所以您会看到Hashtable
API得到了增强以实现该Map
接口,从而成为Java的集合框架的一部分。这意味着,如果你是包装Hashtable
过Collections.synchronizedMap()
,包裹的APIHashtable
将成为限于Map
API。因此,如果Hashtable
您的 行为 定义中包含的API ,那么显然会对其进行更改/限制。



