java ConcurrentMap 获取空值
java ConcurrentMap get in null
我有这个 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
可能是你的问题。
您的新条目的 'weakness' 可能导致它不可用,因为没有其他引用它。
我有这个 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
可能是你的问题。
您的新条目的 'weakness' 可能导致它不可用,因为没有其他引用它。