Java 7 でコンパイルされたコードを Java 8 にアップグレードすると何かメリットがありますか? 質問する

Java 7 でコンパイルされたコードを Java 8 にアップグレードすると何かメリットがありますか? 質問する

Java 7 を使用して作成された古いアプリケーションがあります。Java 8 JRE では問題なく動作します。Java 8 の機能を利用するためにコードを書き直す予定はありません。コンパイルされたコードを最新の Java 8 JDK にアップグレードすると、技術的な利点はありますか?

明確に言うと、コードは現在 Java 7 でコンパイルされており、最新の Java 8 JRE で実行されています。Java 8 ランタイムの改善の恩恵をすでに受けているはずです。この質問は、バージョン 8 でコンパイルし、Java 8 でコンパイルされたバイトコードで実行することで、何らかのメリットが得られるかどうかです。


また、開発者の生産性などの非技術的な利点については関心がありません。それらは重要だと思いますが、この質問のポイントではありません。開発チームがいない製品コードについて質問しています。完全にメンテナンス モードです。

ベストアンサー1

javac質問を正しく理解していれば、生成されたバイトコードがJava 7 よりも Java 8 で「優れている」かどうかを知りたいということですね。

答えはおそらくノーでしょう。コンパイラのバグは絶えず修正されており、それがより効率的なバイトコードにつながることもあります。しかし、私が見る限り、Java 8のこれらの修正による大幅なスピードアップは見られません。変更履歴バージョン間の主要な変更点は 2 つだけ記載されています。

javacオラクルのウェブサイトはひどく、バージョン間のバグ修正のリストが入手できないようですが、以下はOpenJDKからの抜粋です。私が見つけることができたものの大部分は、エラーを修正するものです。したがって、Java 8 に更新すると、javacJLS にさらに正確に従うため、コンパイルできなくなる可能性があり、バイトコードへの「改善」はほとんどまたはまったく行われなくなります。

おすすめ記事