Java의 java.util.Hashtable
의 기능은 java.util.HashMap
과 같습니다. 가장 큰 차이점은 Hashtable
은 스레드로부터 안전하며 동기화되었으며 HashMap
은 동기화되지 않습니다. JDK5 현재, 우리는 멀티 스레드 환경에서 사용될 수있는 ConcurrentHashMap
을 가지고 있습니다. Hashtable
보다 성능이 좋습니다. 앞으로 Hashtable
을 사용할 이유가 있습니까?ConcurrentHashMap을 가지고 있으므로 Hashtable이 필요합니까?
3
A
답변
5
Hashtable
이 여전히 JDK에있는 유일한 이유입니다.
Hashtable
에 대한 또 다른 대안은 Collections.synchronziedMap
입니다.
0
use HashTable 인 기존 인터페이스가 많이 있습니다. 대부분의 경우, 모든 경우가 아니라면 호환성을 없애고 교체 할 수 없습니다.
ConcurrentHashMap의 성능이 synchronizedMap보다 우수하므로 synchronizedMap을 사용해야하는 이유가 있습니까? – Jacky
@Jacky 아닙니다. 같은 이유가 적용됩니다. * 거기에 머무를 것입니다. Sun/oracle은 하위 호환성을 상당히 심각하게 받아 들였고 기본적으로 JDK에서 아무 것도 제거하지 않습니다. JDK7의 메소드는 여전히 잘못 입력되어 있습니다. 1.0 및 1.1에서 이름이 바뀜) – Voo
감사합니다. – Jacky