From 4a13655aa517542cc71b163fd91f016a8b6fb50d Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 11 Feb 2026 19:22:27 +0100 Subject: [PATCH] Polishing --- .../springframework/util/ConcurrentReferenceHashMap.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/util/ConcurrentReferenceHashMap.java b/spring-core/src/main/java/org/springframework/util/ConcurrentReferenceHashMap.java index e1afe56aff6..6abdda58274 100644 --- a/spring-core/src/main/java/org/springframework/util/ConcurrentReferenceHashMap.java +++ b/spring-core/src/main/java/org/springframework/util/ConcurrentReferenceHashMap.java @@ -371,12 +371,13 @@ public class ConcurrentReferenceHashMap extends AbstractMap implemen @Override public @Nullable V computeIfAbsent(@Nullable K key, Function<@Nullable ? super K, @Nullable ? extends V> mappingFunction) { - // avoid locking if entry is present + // Avoid locking if entry is present Reference ref = getReference(key, Restructure.NEVER); Entry entry = (ref != null ? ref.get() : null); if (entry != null) { return entry.getValue(); } + return doTask(key, new Task(TaskOption.RESTRUCTURE_BEFORE, TaskOption.RESIZE) { @Override protected @Nullable V execute(@Nullable Reference ref, @Nullable Entry entry, @Nullable Entries entries) { @@ -396,12 +397,13 @@ public class ConcurrentReferenceHashMap extends AbstractMap implemen @Override public @Nullable V computeIfPresent(@Nullable K key, BiFunction<@Nullable ? super K, @Nullable ? super V, @Nullable ? extends V> remappingFunction) { - // avoid locking if entry is absent + // Avoid locking if entry is absent Reference ref = getReference(key, Restructure.NEVER); Entry entry = (ref != null ? ref.get() : null); if (entry == null) { return null; } + return doTask(key, new Task(TaskOption.RESTRUCTURE_BEFORE, TaskOption.RESIZE) { @Override protected @Nullable V execute(@Nullable Reference ref, @Nullable Entry entry, @Nullable Entries entries) {