From 4d7afc7fc9189b6545e7101d09a148aa500c0e2e Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 7 Sep 2011 20:07:22 +0000 Subject: [PATCH] Reduce cache memory usage for classes with no annotations. Review comment from kkolinko. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1166366 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/core/DefaultInstanceManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/java/org/apache/catalina/core/DefaultInstanceManager.java b/java/org/apache/catalina/core/DefaultInstanceManager.java index 132d4b379..fff9135c1 100644 --- a/java/org/apache/catalina/core/DefaultInstanceManager.java +++ b/java/org/apache/catalina/core/DefaultInstanceManager.java @@ -31,6 +31,7 @@ import java.security.PrivilegedAction; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Properties; @@ -402,6 +403,10 @@ public class DefaultInstanceManager implements InstanceManager { annotation.name())); } } + if (annotations.size() == 0) { + // Use common empty list to save memory + annotations = Collections.emptyList(); + } annotationCache.put(clazz, annotations); } else { for (AnnotationCacheEntry entry : annotations) { -- 2.11.0