我到达回到以前的问题,我有: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