我有这个ConcurrentMap
ConcurrentMap<String, Byte[]> companyLogo = new MapMaker()
.concurrencyLevel(Runtime.getRuntime().availableProcessors())
.weakKeys()
.initialCapacity(1000)
.expiration(24, TimeUnit.HOURS)
.makeMap();
和这段代码
companyLogo.put("cpr48124", ArrayUtils.toObject(resize (request, ((Byte[])request.getSession().getAttribute(COMPANY_LOGO_KEY+ imageId)))));
companyLogo.get("cpr48124");
但是
companyLogo.get("cpr48124");
为空。怎么可能呢? 最佳答案
我不熟悉MapMaker
,但是我猜weakKeys
可能是您的问题。
由于没有其他引用,因此新条目的“弱点”可能使其不可用。