Java 7 仮想マシンとの Java 8 バイトコードの互換性
Java 8 では、ラムダ式などの重要な言語拡張機能が導入されました。このため、これらの変更が、Java 7 仮想マシン (JVM) での実行を妨げる形で、生成されたバイトコードに影響を与えるかどうかという疑問が生じます。
Java 8 コードは Java 7 JVM 上で実行できますか?
いいえ、Java 8 バイトコードは Java 7 JVM と直接互換性がありません。 Java 8 で導入された変更を適切に実行するには、Java 8 JVM が必要です。
ターゲット 1.7 でのコンパイル
Java のターゲットで Java 8 コードをコンパイルしようとすると、 7 -target 1.7 フラグを使用すると、コンパイラはエラーを報告します:
javac: source release 1.8 requires target release 1.8
Thisこれは、Java 8 の機能を Java 7 JVM と互換性のある形式にコンパイルできないことを示します。
影響
したがって、Java 8 言語の機能を利用するには、特に次のことを行う必要があります。 Java 8 コンパイラと JVM をターゲットにします。これは、Java 8 バージョンの Java Development Kit (JDK) を使用し、コードの Java 8 ターゲット バージョンを指定することを意味します。
以上がJava 8 バイトコードは Java 7 JVM 上で実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。