MapMaker和ReferenceMap - Google Collections

Gra*_*e K 1 guava

据我所知,Google Collections的alpha版本中的ReferenceMap已被MapMaker取代.

我将这个ReferenceMap构造函数与支持映射一起使用:

public ReferenceMap(ReferenceType keyReferenceType, ReferenceType
       valueReferenceType, ConcurrentMap<Object, Object> backingMap) {
     this(keyReferenceType, valueReferenceType, backingMap, true);
} 
Run Code Online (Sandbox Code Playgroud)

我的支持地图是一个能够收集统计数据(命中/未命中等)的并发映射.

我可以用什么来代替上面的ReferenceMap构造函数?

谢谢,格雷斯

Kev*_*ion 6

我们无法继续提供通过您自己的支持地图的能力.MapMaker使用自己的自定义地图实现.

但是,要收集命中/未命中统计信息,您可以将返回的ConcurrentMap包装在ForwardingConcurrentMap中以计算get调用(使用AtomicLong),并使您的函数计数以类似的方式丢失.(当然,命中率几乎等于请求减去未命中数.)