Guava MapMaker的用法

guava.version:21.0

MapMaker.makeMap

public  ConcurrentMap makeMap() {
    if (!useCustomMap) {
      return new ConcurrentHashMap(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()

你可能感兴趣的:(java)