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