我到達回到以前的問題,我有:Frequently Used metadata Hashmap常用哈希地圖,但併發
不過,這次我將如何適應這種解決方案與ConcurrentMap工作? LinkedHashMap不是一個同步集合,並且由於性能原因,我不想將它包裝在sycronizedMap中。有沒有其他的[並行友好]解決方案來解決這個問題?
原來的問題是,我需要一個哈希映射,在這麼多條目後襬脫最少使用的項目。
我到達回到以前的問題,我有:Frequently Used metadata Hashmap常用哈希地圖,但併發
不過,這次我將如何適應這種解決方案與ConcurrentMap工作? LinkedHashMap不是一個同步集合,並且由於性能原因,我不想將它包裝在sycronizedMap中。有沒有其他的[並行友好]解決方案來解決這個問題?
原來的問題是,我需要一個哈希映射,在這麼多條目後襬脫最少使用的項目。
番石榴MapMaker
和CacheBuilder
類可以生成具有LRU逐出策略的併發映射。
CacheBuilder
類是高速緩存用例的首選,因爲Guava開發人員正在從MapMaker
中剝離高速緩存支持方法。
[CacheBuilder](http://guava-libraries.googlecode.com/svn/trunk/javadoc/com /google/common/cache/CacheBuilder.html)是我們對MapMaker的替代品,應該是首選。 –
我只會接受這個答案,因爲它會導致CacheBuilder。 – monksy
如果將其包裝到synchronizedMap中,是否會遇到性能問題?或者這是「過早優化」的情況? – Bringer128
您可能想要查看:http://code.google.com/p/concurrentlinkedhashmap/wiki/Design – Deco
爲什麼不使用'java.util.concurrent'中的'ConcurrentHashMap'? – pushy