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。在大多數情況下,如果不是所有情況下,都不能在不破壞兼容性的情況下進行更換
相關問題
- 1. 因爲我們需要SQLParameter-s
- 2. 我們需要指針嗎?
- 3. 爲什麼我們需要analysis_export當我們有analysis_port
- 4. 當我們有點子時,爲什麼我們需要Anaconda?
- 5. 雖然我們有Swing,但爲什麼我們需要JavaFX?
- 6. 我們總是需要關閉我們提供的ModelViewViewController嗎?
- 7. 我們真的需要EDT嗎?
- 8. 我們真的需要Automapper嗎?
- 9. 我們需要釋放常量嗎?
- 10. c#vb:我們真的需要System.Lazy嗎?
- 11. [myproject] .dll.config文件 - 我需要它們嗎?
- 12. 我們還需要Richter的AsyncEnumerator嗎?
- 13. 我們需要rails和rake命令嗎?
- 14. css BEM - 我們真的需要E嗎?
- 15. 我們真的需要「oauth_nonce」嗎?
- 16. 我們需要創建CORS嗎?
- 17. 我們需要檢查* .xcuserstate嗎?
- 18. 如何從引導我們需要爲我們的項目
- 19. 什麼是R中的因子,爲什麼我們需要它
- 20. QSharedPointer,如何傳遞它們,我需要它們嗎?
- 21. DavLockDB:我們需要什麼?
- 22. 我們是否需要ezpublish_legacy?
- 23. 我們需要在jQuery的
- 24. 我們需要ignite.sh腳本?
- 25. 當我們有內核時,爲什麼我們需要驅動程序?
- 26. 當我們已經有一階邏輯時,爲什麼我們需要PDDL?
- 27. 我們已經有了nodejs,爲什麼我們需要nginx或apache?
- 28. 爲什麼我們需要Maven或Ant,如果我們已經有Eclipse?
- 29. 當我們已經有mapDispatchToProps時,爲什麼我們需要使用redux-thunk
- 30. 當我們已經有向量時,爲什麼我們需要同步ArrayList?
由於ConcurrentHashMap比synchronizedMap有更好的性能,我們有理由使用synchronizedMap嗎? – Jacky
@Jacky不,同樣的原因適用:它*之前存在,因此它將留在那裏 - Sun/oracle向後兼容性相當嚴重,基本上不會從JDK中刪除任何東西(JDK7中仍有一些方法在拼寫錯誤1.0並更名爲1.1) – Voo
明白了,非常感謝! – Jacky