Java 7 JVM との Java 8 バイトコードの互換性
Java 8 には、ラムダ式を含む多数の魅力的な言語機能が導入されています。ただし、これにより次のような疑問が生じます: Java 8 コードは Java 7 仮想マシンと調和して共存できますか?
答え: いいえ
残念ながら、Java 8 をコンパイルしようとします。 Java 7 仮想マシンをターゲットとするソース コードは抵抗を受けるでしょう。次の失敗したコンパイル試行が示すように、コンパイラーは断固として拒否します:
$ javac Test -source 1.8 -target 1.7 javac: source release 1.8 requires target release 1.8
この非互換性は、Java 8 がコンパイルされたバイトコード構造に大幅な変更を導入しているという事実に起因します。これらの変更は Java 7 インタープリタと互換性がなく、拡張バイトコード形式をサポートする仮想マシン上で Java 8 コードを実行する必要があります。
したがって、Java 8 の機能の素晴らしさを詳しく知りたい場合は、コードのこの作業は、互換性のある Java 8 仮想マシンで開始する必要があります。
以上がJava 8 コードは Java 7 仮想マシン上で実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。