この質問は、ここで説明されている他のトピックに関連しています:
Java バイトコードは Java の異なるバージョンと互換性がありますか?
ただし、この場合、互換性が同じバージョン内で異なる更新で保持されているかどうかを知りたいです。
たとえば、バージョン 1.6.0_14 のコンパイラによって生成されるバイトコードは、1.6.0 の JVM と互換性がありますか? コードは問題なく実行されますが、予期しない問題が発生する可能性があるかどうかはわかりません。
よろしく。
この質問は、ここで説明されている他のトピックに関連しています:
Java バイトコードは Java の異なるバージョンと互換性がありますか?
ただし、この場合、互換性が同じバージョン内で異なる更新で保持されているかどうかを知りたいです。
たとえば、バージョン 1.6.0_14 のコンパイラによって生成されるバイトコードは、1.6.0 の JVM と互換性がありますか? コードは問題なく実行されますが、予期しない問題が発生する可能性があるかどうかはわかりません。
よろしく。
はい。バイト コードはメジャー¹ ポイント リリースのみを変更します。アップデート (_XX) リリースは、API およびツール ベースのバグ修正、パフォーマンスの向上、非標準コマンド スイッチの変更です。アップデート リリースによって API が壊れたり、クラス ファイルのバージョンが変更されたりすることはありません。
1) Suns のバージョン番号システムの Bah。
クラス ファイル形式には、この問題を解決するための正確なバージョン番号があります。同じバージョン内で重大な変更があった場合、クラス ファイル形式の番号も増加することが予想されます (おそらく、これまで使用されていなかった minor_version です)。UnsupportedClassVersionError
はい、このドキュメントのいくつかのまれなケースを除いて、バイナリ互換性があるはずです。