On 9/23/2009 8:15 PM Mandy Chung wrote:
Have it been discussed whether that is feasible to modify the VM in order to eliminate the static dependency if a particular object never gets initialized?

The HotSpot VM does lazy resolution and it doesn't load the type of an object if it's not initialized.

Static dependency refers to the types referenced in a class file (i.e. any types directly referenced in the source).

So my question is: would it be possible to modify the component responsible for this sort of dependency (I presume it must be some class loader, right?) so that it would not load the classes until an instance of a class gets initialized, or static methods get accessed, or the type information gets requested (like Logger.class...)? In other words, if a class has an *unused* field of type 'reference to an object of type T', the class T would not be loaded at all until it really gets used in some way.

Has that kind of solution been discussed?

--
best regards,
Anthony

Reply via email to