Name: yyT116575 Date: 01/25/2001
java version "1.3.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0_01)
Java HotSpot(TM) Client VM (build 1.3.0_01, mixed mode)
One of the situations in which the hotspot JVM would behave differently that a
classic JVM is described in the "Method Dispatch Differences" available at:
http://java.sun.com/products/hotspot/1.0/dispatch.html
However, some notable other differences exist. It would save developpers a great
time if such differences where documented in the JDK. In the meantime I hope
that this bug report would at least help developpers find one of them: handling
of unavailable classes:
It seems that an imported [exception] class that is never used would not trigger
the throwing of any exception in a class JVM, but would lead to a
java.lang.NoClassDefFoundError runtime exception in a hotspot JVM. This can be a
good thing to be aware of when debugging problems that occur in a hotSpot JVM
but not a classic JVM.
In my case, this problem was especially difficult to detect since the exception
was masked by one JDK class catching the NoClassDefFoundError and rethrowing an
unrelated exception without specifying the root cause
("java.io.StreamCorruptedException: Unread data" thrown by ObjectInputStream)
The problem would not occur in classic JVM whereas it was reproducing in
hotspot. It would have helped me in my debugging to read somewhere that the
hotpot JVM was handing missing classes differently than classic JVM.
(Review ID: 115784)
======================================================================