Java 2 Platform Standard Edition 5 のバージョン 1.5.0 は、以下に示す非互換性を除き、バージョン 1.4.2 とバイナリレベルの上位互換性があります。これは、下記の非互換性を除き、バージョン 1.4.2 コンパイラで構築されたクラスファイルはバージョン 1.5.0 上で正しく稼動することを意味します。
初期のバイトコード難読化ツールの中には、仮想マシンの仕様とは異なる形式のクラスファイルを生成するものがありました。このような不適切な形式のクラスファイルは Java 2 JDK の仮想マシン上では動作しませんが、初期バージョンの仮想マシン上では動作するものもあります。この問題を修復するには、適切な形式のクラスファイルを生成する新しい難読化ツールでクラスファイルを生成し直します。