RFR (M): JDK-8159262: Walking PackageEntry Export and ModuleEntry Reads Must Occur Only When Neccessary And Wait Until ClassLoader's Aliveness Determined

Alan Bateman Alan.Bateman at oracle.com
Thu Jun 23 11:25:38 UTC 2016



On 23/06/2016 12:05, David Holmes wrote:
>
> You said:
>
> "Module system initialization will initialize the built-in class 
> loaders, including the application class loader. The platform or 
> application class loaders won't load any classes in this phase of 
> course but they will be initialized (with the modules that they might 
> later load classes from). "
>
> What does that last part mean: "with the modules they might later load 
> classes from"? How have modules become bound to a classloader that may 
> not even get instantiated? If that class loader is never instantiated 
> then why do we need a runtime test that checks for the type of the 
> actual system class loader?
The graph of modules that are defined to the runtime during startup are 
we call the "boot layer". They are statically mapped to the built-in 
class loaders where built-in means the boot, platform or application 
class loaders. There may be a custom system class loader that comes into 
existence later during the startup but it's just not interesting to the 
discussion here (except to know that it might be different to the 
application class loader in some niche configuration).

-Alan


More information about the hotspot-dev mailing list