From 7739f8b015de211ed8df8a7cc5255f18cf329c4d Mon Sep 17 00:00:00 2001 From: yanzhongxin <747328867@qq.com> Date: Wed, 4 Jun 2025 15:03:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DputWithoutLock=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E5=A4=96=E9=83=A8=E8=B5=84=E6=BA=90=E6=B3=84?= =?UTF-8?q?=E9=9C=B2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/cache/impl/AbstractCache.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java b/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java index 3465e9f00..3703478f0 100755 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java +++ b/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java @@ -89,7 +89,11 @@ public abstract class AbstractCache implements Cache { // issue#3618 对于替换的键值对,不做满队列检查和清除 if (cacheMap.containsKey(mKey)) { - // 存在相同key,覆盖之 + CacheObj oldObj = cacheMap.get(mKey); + if (oldObj != null) { + onRemove(oldObj.key, oldObj.obj); + cacheMap.remove(mKey); + } cacheMap.put(mKey, co); } else { if (isFull()) {