> On Jun 30, 2016, at 10:15 PM, David Holmes <david.hol...@oracle.com> wrote:
> 
> On 1/07/2016 3:00 PM, Mandy Chung wrote:
>> 
>>> On Jun 30, 2016, at 9:44 PM, David Holmes <david.hol...@oracle.com> wrote:
>>> 
>>> I had assumed that initialization was desirable as part of checking that 
>>> everything was specified correctly. If not then --dry-run would seem to do 
>>> very little compared to just running -version, and so doesn't really seem 
>>> to carry its weight.
>> 
>> —dry-run does more than -version.  It loads the VM and initializes the 
>> module system that loads the set of modules resolved at startup. It then 
>> loads the main class.   It will report any error detected by the VM or 
>> module system initialization.
> 
> Yes but the _only_ thing it does extra (if not initializing the main class) 
> is loading the main class. Does that loading trigger further module 
> 'resolution’?

No it does not trigger any further resolution.  It ensures the main class is 
found; or if -m is specified, the main class is found in the main module.  
Module resolution is completed when VM is created. 

> If so that is fine - that is what I thought would happen in the 
> initialization of the main class.


clinit triggers class resolution as it is today.  If the class is not found 
from the boot layer and classpath, CNFE will be found. 

Mandy

Reply via email to