Author: struberg
Date: Wed Jul 21 16:18:06 2010
New Revision: 966296

URL: http://svn.apache.org/viewvc?rev=966296&view=rev
Log:
OWB-413 cache methods of java.lang.Object

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=966296&r1=966295&r2=966296&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 Wed Jul 21 16:18:06 2010
@@ -563,17 +563,25 @@ public final class ClassUtil
 
     public static List<String> getObjectMethodNames()
     {
-        List<String> list = new ArrayList<String>();
-        Class<?> clazz = Object.class;
-
-        Method[] methods = SecurityUtil.doPrivilegedGetDeclaredMethods(clazz);
-        for (Method method : methods)
+        if (objectMethodNames == null)
         {
-            list.add(method.getName());
+            // not much syncronisation needed...
+            List<String> list = new ArrayList<String>();
+            Class<?> clazz = Object.class;
+
+            Method[] methods = 
SecurityUtil.doPrivilegedGetDeclaredMethods(clazz);
+            for (Method method : methods)
+            {
+                list.add(method.getName());
+            }
+            objectMethodNames = list;
         }
 
-        return list;
+        return objectMethodNames;
     }
+    private static List objectMethodNames= null;
+    
+
 
     public static boolean isObjectMethod(String methodName)
     {


Reply via email to