From c8bf5f2368f18f88cf891571457683a513621bd5 Mon Sep 17 00:00:00 2001 From: John DeRegnaucourt Date: Tue, 16 Apr 2024 22:57:15 -0400 Subject: [PATCH] Changed CONVERSION_DB from ConcurrentHashMap to HashMap because it is read-only once the static initializer is finished. Class initialization is thread safe - no other class can access static content until the static initializers are completed. --- src/main/java/com/cedarsoftware/util/convert/Converter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/cedarsoftware/util/convert/Converter.java b/src/main/java/com/cedarsoftware/util/convert/Converter.java index 6fdd6930..3349ae18 100644 --- a/src/main/java/com/cedarsoftware/util/convert/Converter.java +++ b/src/main/java/com/cedarsoftware/util/convert/Converter.java @@ -25,6 +25,7 @@ import java.util.AbstractMap; import java.util.Calendar; import java.util.Date; +import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.Set; @@ -79,7 +80,7 @@ public final class Converter { private static final Convert UNSUPPORTED = Converter::unsupported; static final String VALUE = "_v"; private static final Map, Set> cacheParentTypes = new ConcurrentHashMap<>(); - private static final Map, Class>, Convert> CONVERSION_DB = new ConcurrentHashMap<>(860, .8f); // =~680/0.8 + private static final Map, Class>, Convert> CONVERSION_DB = new HashMap<>(860, .8f); // =~680/0.8 private final Map, Class>, Convert> USER_DB = new ConcurrentHashMap<>(); private final ConverterOptions options;