I'm not sure exactly what the JVM does. However, static blocks aren't excecuted until the class object is loaded (which is not necessary at load time). That indicates to me that the JVM doesn't fully recognize some classes until needed. That is not to say that the JVM doesn't use the classes in some way though.
Which is why, for example, we need to do something like Class.forName("blah.blah"), when we load and use
JDBC drivers. Is there something at issue here, or is this a mere curiosity?
Nathaniel Stodard<br />SCJP, SCJD, SCWCD, SCBCD, SCDJWS, ICAD, ICSD, ICED