jvm load too many classes

Osvaldo Doederlein opinali at gmail.com
Fri Jul 30 18:41:59 UTC 2010

I wonder if these numbers have some variation per platform? For me (on
Windows; 32-bit JDKs), the results of this test (java -verbose:class |
grep Loaded | wc -l) are:

1.5.0_22: 239
1.6.0_21: 274
1.7.0-ea-b103: 403

The diff from 1.5 to 1.6 is not bad, but JDK7 seems right now to be a
heavy regression... FWIW for such a simple test. For one thing, these
core-boot classes all come off the CDS file so their classloading
effort is relatively very small, and the delta will certainly be much
smaller for even the smallest real-world app.


2010/7/30 Mandy Chung <mandy.chung at oracle.com>:
> Yongqiang Yang wrote:
>> hi,
>>     I just type command "java" under openjdk1.6, then the jvm will load
>> 308 classes, including             java/launcher/LauncherHelp,
>>            java/util/ResourceBundle,
>>            java/util/Currency,
>>            java/util/Locale,
>>            java/net/URL
>>        When I use jdk1.5, the jvm just load about 180 classes, not
>> including the classes above.
>>        Could someone figure out something wrong?
> New features and bug fixes in a new release could lead to more classes get
> loaded at startup.  We have done some work to lazily load classes if
> appropriate (see CR 6798873: Reduce the number of classes loaded and class
> dependencies).
> Mandy

More information about the core-libs-dev mailing list