2013-08-19 45 views
0

我陷入了一個問題,真的需要一些幫助來通過這個 在我的應用程序。我有一個ConcurrentHashMap,其中多個可以線程可以同時存儲或檢索數據。爲了解決這個問題,我選擇了。現在,在一段時間之後,我的應用程序中不再需要很少的數據了。所以,我需要他們被垃圾收集。在WeakHashMap的情況下,這很容易,因爲無論密鑰何時爲空,該值也將被移除以進行垃圾收集。堅果如何爲ConcurrentHashMap實現WeakReference樣式。ConcurrentHash地圖與弱參考

+1

以下鏈接 去走遍 http://stackoverflow.com/questions/15456742/concurrenthashmap-with-weak-keys-and-identity-hash –

回答

1

根據您的性能要求,您可能會發現使用最簡單的選項Collections.synchronizedMap(weakHashMap)

+0

但這不會允許多個線程在地圖上同時性工作。所以,性能會受到影響。在我的情況下,性能包含一個非常好的點 – Souvik

+0

在這種情況下,您可以檢查[this](http://stackoverflow.com/q/2255950/823393)問題的一些進一步的想法。 – OldCurmudgeon

+0

Google multimap和WeakHashMap不能以完全相同的方式工作(根據POST中的註釋) – Souvik