Java 2 SDK for Solaris Developer's Guide

Binary Compatibility

The JavaTM 2 SDK, Standard Edition, (J2SETM), v1.4 is upwards binary-compatible with J2SE 1.3 except for the incompatibilities listed below. This means that, except for the noted incompatibilities, class files built with version 1.3 compilers will run correctly in the J2SE 1.4.

In general, the policy is that

Some early bytecode obfuscators produced class files that violated the class file format as given in the virtual machine specification. Such improperly formatted class files will not run on the J2SE's virtual machine, though some of them may have run on earlier versions of the virtual machine. To remedy this problem, regenerate the class files with a newer obfuscator that produces properly formatted class files.