Review Request: JDK-8193159: Reduce the number of classes loaded due to NativeLibrary

mandy chung mandy.chung at oracle.com
Thu Dec 7 00:33:51 UTC 2017


A tiny startup fix - useArrayDeque instead of LinkedList for 
ClassLoader.NativeLibrary which is typically loaded at startup for 
example when loading a JAR file.

Thanks
Mandy

diff --git a/src/java.base/share/classes/java/lang/ClassLoader.java 
b/src/java.base/share/classes/java/lang/ClassLoader.java
--- a/src/java.base/share/classes/java/lang/ClassLoader.java
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java
@@ -38,6 +38,7 @@
  import java.security.PrivilegedAction;
  import java.security.ProtectionDomain;
  import java.security.cert.Certificate;
+import java.util.ArrayDeque;
  import java.util.Arrays;
  import java.util.Collections;
  import java.util.Deque;
@@ -45,7 +46,6 @@
  import java.util.HashMap;
  import java.util.HashSet;
  import java.util.Hashtable;
-import java.util.LinkedList;
  import java.util.Map;
  import java.util.NoSuchElementException;
  import java.util.Objects;
@@ -2496,7 +2496,7 @@
          }

          // native libraries being loaded
-        static Deque<NativeLibrary> nativeLibraryContext = new 
LinkedList<>();
+        static Deque<NativeLibrary> nativeLibraryContext = new 
ArrayDeque<>();

          /*
           * The run() method will be invoked when this class loader 
becomes


More information about the core-libs-dev mailing list