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

David Holmes david.holmes at oracle.com
Thu Jun 23 11:05:34 UTC 2016


On 23/06/2016 8:59 PM, Alan Bateman wrote:
> On 23/06/2016 11:55, David Holmes wrote:
>
>>
>> So then there are two "system" class loaders ??? I have not seen that
>> spelt out anywhere.
> No, just one system class loader. It will almost always == application
> class loader. In rare cases then the system class loader will user
> supplied and configured via the java.system.class.loader property. This
> is all documented/specific in java.lang.ClassLoader.

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?

Sorry if I'm being dense here but this is not really making sense to me. 
I really don't know why we need to know whether the system classloader 
is the default one or not?

Thanks,
David

> -Alan


More information about the hotspot-dev mailing list