Java 2 SDK for Solaris is upwards binary-compatible with JDK versions 1.0 and 1.1 except for the incompatibilities listed below. This means that, except for the noted incompatibilities, class files built with JDK version 1.0 or 1.1 compilers run correctly with Java 2 SDK for Solaris.
As long as the javac compiler's -target 1.2 command-line option is not used, downward binary compatibility is generally supported, though not guaranteed. That is, class files built with a Java 2 SDK for Solaris compiler, but relying only on APIs defined in JDK versions 1.0 or 1.1 of the Java platform, generally run on JDK version 1.0 and JDK version 1.1 of the Java Virtual Machine, but this downwards compatibility has not been extensively tested and cannot be guaranteed. Of course, if the class files depend on any new Java 2 SDK for Solaris APIs, those files do not work on earlier platforms.
In general, the policy is that
Maintenance releases (for example JDK versions 1.1.1 and 1.1.2) within a family (JDK 1.1-based releases) maintain both upward and downward binary-compatibility with each other.
Functionality releases (for example JDK versions 1.1 and 1.2) within a family (JDK 1.-based releases) maintain upward but not necessarily downward binary-compatibility with each other. Some early Java bytecode obfuscators produced class files that violated the class file format as given in the Java Virtual Machine Specification, Second Edition. Such improperly formatted class files do not run on Java 2 SDK for Solaris VM, though some of them might have run on earlier versions of the VM. To remedy this problem, regenerate the class files with a newer obfuscator that produces properly formatted class files.