[15] RFR JDK-8247785: Small clarification to the javadoc about builtin class loaders

Mandy Chung mandy.chung at oracle.com
Tue Jun 23 18:03:11 UTC 2020


Small clarification about the parent of the system class loader in the 
ClassLoader class
spec:


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
@@ -133,7 +133,7 @@
   *     It is the virtual machine's built-in class loader, typically represented
   *     as {@code null}, and does not have a parent.</li>
   * <li><p>{@linkplain #getPlatformClassLoader() Platform class loader}.
- *     All <em>platform classes</em> are visible to the platform class loader
+ *     <em>Platform classes</em> are visible the platform class loader
   *     that can be used as the parent of a {@code ClassLoader} instance.
   *     Platform classes include Java SE platform APIs, their implementation
   *     classes and JDK-specific run-time classes that are defined by the
@@ -152,7 +152,7 @@
   *     The system class loader is typically used to define classes on the
   *     application class path, module path, and JDK-specific tools.
   *     The platform class loader is a parent or an ancestor of the system class
- *     loader that all platform classes are visible to it.</li>
+ *     loader which searches and loads the platform classes through its parent.</li>
   * </ul>
   *
   * <p> Normally, the Java virtual machine loads classes from the local file




I dropped the word "All" because which platform modules are resolved in
the module graph depends on the root modules of the runtime configuration.
A platform module may not be resolved in some configuration and hence
not all platform classes are visible to the platform class loader.

Mandy



More information about the core-libs-dev mailing list