Guava MapMaker的用法

guava.version:21.0

MapMaker.makeMap

public <K, V> ConcurrentMap<K, V> makeMap() {
    if (!useCustomMap) {
      return new ConcurrentHashMap<K, V>(getInitialCapacity(), 0.75f, getConcurrencyLevel());
    }
    return MapMakerInternalMap.create(this);
  }

1. 构建 ConcurrentHashMap

new MapMaker().concurrencyLevel(8).makeMap();

2. 可以设置keys或者Values是WeakReference的,自己的Map实现。

建议用new MapMaker().weakKeys().makeMap() 代替java.util.WeakHashMap。Weak的Value或者key用==比较。WeakHashMap用equals.

new MapMaker().weakKeys().makeMap()

猜你喜欢

转载自blog.csdn.net/houzhizhen/article/details/106801075
今日推荐