2016-05-04 2 views
2

Javaは互換モードで動作しますか?つまり、JDK 8がシステムにインストールされている場合、同じインストールを使用して7またはそれ以前のリリースでアプリケーションを実行するように設定できますか?互換モードでJavaを実行するには?

IE-11のような1つの例は、互換性オプションに基づいてIE 8,9または10として動作するように切り替えることができます。

+0

http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html –

+0

いいえ、このような互換モードはありません。絶対に確実にするには、追加のJDKをインストールし、プログラムをテストする必要があります。 – Kayaman

+0

@Gimby質問はコンパイルに関するものだとは思っていませんが、Java 7プログラムをJava 8で実行できるかどうかについて---とにかく、答えは(例外はほとんどありませんが)Javaは必要なく後方互換性があります互換モードのために。最初のコメントのリンクを参照してください。 – Andreas

答えて

1

私はKayamanのコメントに同意します。 バイトコードの変更(8でサポートされている機能で、7ではなく新しいJavaのバージョンは上位互換性があるため、8で7つのターゲットコードをすべて実行できます)とライブラリの変更が発生する可能性のある2種類の非互換性があります。より問題になります。

7+をターゲットとしたJava 8でコンパイルした場合、バイトコードはJava 7 JVMと互換性がありますが、Java 7ライブラリで動作する保証はありません。そして、それは(おそらく)

は、その後、あなたのアプリケーション(例えば、GCのパフォーマンスに)影響を与える可能性があり、他の変更があるのJava 8で実行されます -

あなたの最善の策は、コンパイルしたJava 7で実行することです。

関連する問題