When we run Java program, then first load the JVM ie. its load the necessary startup classes are needed by all the programs.  its load 300 classes for load JVM.

Its make the initial delay for our program when we run first time. so latest jdk kit (1.6 update 14 or later) provide system tray tool. its load whenever system starts (Startup apps) its load the these nessary classes into cache . so when run the java program it run faster.

suppose i create simple "Hello World" program

when i run the HelloWorld.java file through -verbose command line option then we see what are the classes loaded


Its showing more than 300 classes are loaded.