From: markt Date: Wed, 7 Sep 2011 20:07:22 +0000 (+0000) Subject: Reduce cache memory usage for classes with no annotations. Review comment from kkolinko. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=4d7afc7fc9189b6545e7101d09a148aa500c0e2e;p=tomcat7.0 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 --- 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) {