JavaRush /Java Blog /Random-JA /JDK の新しいバージョンが頻繁にリリースされることは何をもたらすのでしょうか?

JDK の新しいバージョンが頻繁にリリースされることは何をもたらすのでしょうか?

Random-JA グループに公開済み
Java にとっては変化の時代です。JDK バージョンは、新機能が利用可能になるたびではなく、スケジュールに従ってリリースされるようになりました。このアプローチには長所と短所がありますが、そのような変更は JDK 8 にどのような影響を与えるのでしょうか? 有名な Java エバンジェリストであり、Java チャンピオンであり、Azul Systems のアソシエイト CTO である Simon Ritter 氏は、「予定通りの新しい Java」が安定性、セキュリティ、コストの間のトレードオフである理由を説明しています。
JDK の新しいバージョンが頻繁にリリースされるとどうなるか - 1
2018 年、Java の世界には大きな変化が待っています。昨年発表したように、新しい機能が利用可能になったときにバージョンをリリースするのではなく、スケジュールに基づいて JDK バージョンをリリースすることに移行しています。これは素晴らしいニュースです。なぜなら、新機能は準備が整い次第リリースに含まれるようになり、開発者はより迅速にそれらの機能にアクセスできるようになります。JDK 10 は 3 月にリリースされる予定で、すでにバグ修正のフェーズ 2 に入っているため、すべてが計画通りに進んでいます。Java 仕様リクエスト (JSR) はすでに開発が活発に行われており、パブリック コメントが可能です。すでにJDK 11を対象とした JDK Enhancement Proposal (JEP) さえあります。Javaはうまくいっているようです。

時代は変わる

ただし、このリリース スケジュールに関連する変更は他にも多くあり、今年はそれが明らかになるため、それほど楽しいものではない可能性があります。22 年半にわたり、私たちはプラットフォームとしての Java には、そのサポート方法に直接関係する 3 つの基本的な特性があるという事実になんとか慣れることができました。
  1. 安定性。以前は、JDK の新しいリリースで追加された機能は、徹底的にテストされていますが、実稼働環境でのテストが必要でした。これは、修正が必要な欠点を特定するのに役立ちました。ユーザーが新しいビルドをテストしながら安定したビルドで作業を継続できるようにするために、更新は常に部分的に時間的に重複していました。

    JDK 6 から始まる過去のいくつかのリリースを見ると、JDK 5 のアップデートがさらに 3 年近く (正確には 2 年 11 か月) リリースされ続けていることがわかります。JDK 7 の導入により、JDK 6 の公開アップデートは 1 年 9 か月にわたってリリースされました。また、JDK 7 のアップデートは、JDK 8 のリリースから 13 か月以内にリリースされました。


  2. 安全性。OpenJDK の開発およびサポート チーム、Oracle、そしてその前の Sun Microsystems (Java を開発した会社、編集者注) は、常にプラットフォームのセキュリティを最前線に置いてきました。覚えているとおり、Java はもともとモバイル デバイス (特に Star7 PDA) 向けに開発されたものです。



    主要な開発目標の 1 つは、コードをネットワーク経由で転送し、安全に実行できるようにすることでした。JDK の更新は定期的に公開されており、これには発見されたセキュリティ問題に対するパッチが含まれます。これらのアップデートがリリースされたらすぐにインストールすれば、完全に安全です。


  3. コストゼロ。Java の優れた点の 1 つは、2006 年にオープン ソース ソフトウェアとしてリリースされる前から、Java が常に無料のプラットフォームであったことです。Java をロイヤルティ フリーで使用できる場合には一定の制限がありましたが、これはモバイル アプリケーションと組み込みアプリケーションに常に適用され、デスクトップ クライアントとエンタープライズ サーバーの場合、Java の現在のバージョンは常に無料でした。JDK に対してすでに進行中の変更の 1 つは、「クラスパス」例外を含む GPLv2 ライセンスに基づく OpenJDK 実行可能ファイルのリリースです。このライセンスは、Java ランタイム環境の展開方法に制限を課しません。

ただし、JDK の開発およびリリース方法が変更されたため、アプリケーションを Java の新しいバージョンに移行する計画を慎重に検討する必要があります。この新しいリリース スケジュールでは、複数の以前のリリースのアップデートを確実に利用できるようにする取り組みは実現できない可能性があります。2 つの異なるユーザー グループ (新機能をすぐに要求するユーザーと長期的な安定性を重視するユーザー) のニーズを満たすために、Oracle は長期サポート (LTS) モデルへの移行を決定しました。JDK の特定のバージョンは LTS リリースとみなされ、3 年間アップデートを受け取ることになります。他のすべての中間リリースは機能リリースと呼ばれ、更新を受け取るのは 6 か月間のみです。この新しいシステムとの同期を保つために、JDK 8 は LTS リリースとして分類されました。次のリリースは JDK 11 で、2018 年 9 月に予定されています。この新しいモデルがもたらす最大の変更は、リリース間の更新が時間的に重ならなくなることです。これは明確であるため、特に太字の斜体で記載しました。以下は、JDK 19 までの JDK リリースの更新の利用可能性を示す図です。
JDK - 2 の新しいバージョンが頻繁にリリースされることは何をもたらすのでしょうか?
図内: Java SE ライフサイクル – 5 年以上のスケジュール パブリック アップデート 重複なし (「サポート クリフ」) Oracle 商用サポート Oracle 拡張商用サポート
Java SE ライフサイクル - 5 年以上のスケジュール 公開アップデート タイムオーバーラップゼロ Oracle の公開実行可能ファイル (サポートなし) Oracle 商用サポート Oracle 延長商用サポート
これらの変更の直接の結果として、Java プラットフォームは依然として安定しており、安全で、無料ですが、これら 3 つの機能のうち 2 つを選択する必要があります。将来の Java デプロイメントでは、3 つのプロパティすべてを同時に使用できなくなります。

もう少し説明させてください

セキュリティについては (当然のことですが) 懸念しているものの、お金をかけたくないとしましょう。この場合、新しい JDK バージョンがリリースされたらすぐに移行する必要があります。サポートが時間的に重複しない場合 (フィーチャー リリースと LTS リリース)、新しいセキュリティ修正を受け取るためにこれを行う必要があります。残念ながら、時間が重複しないと、運用環境でまだテストされていない JDK リリースにすぐに移行する必要があるため、以前の安定性が失われます。もう 1 つのオプションは、コストゼロでの安定性を選択することです。繰り返しますが、これは可能です。新しいバージョンがリリースされた後、以前の LTS バージョンを使い続けるだけで済みます。使い慣れた安定性が得られ、何も支払う必要はありませんが、このリリースでは利用できないため、セキュリティ パッチは入手できません。最後に、安定性とセキュリティが必要な場合は、お金を払う必要があります。以前の LTS リリースを引き続き使用できますが、セキュリティとバグ修正へのアクセスは商用サポート契約を通じてのみ可能になります。

そして作者からの小さな広告ブロック:)

Azul (私の会社) は、Zulu Enterprise ブランドで一連の OpenJDK 実行可能ファイルを作成し、ソースから構築し、TCK/JCK テストでテストし、不正なヘッダーによるオープン ソース コードの破損がないことを確認するために開発したユーティリティで分析も行いました。ファイル。現在のバージョンを無料でダウンロードできる機会と、興味のある方向けの商用サポートを提供します。最近、お客様に最大限の柔軟性を提供することを目的として、Zulu 向けの新しいサポート オプション セットの提供を開始しました。私たちは、ビジネスや顧客のニーズに合った新しいバージョンの JDK に移行できる機能をユーザーに提供したいと考えています。このために、次の 3 つのサポート オプションを提供します。
  1. 短期サポート(STS)。STS は、新しい Java 機能への最速のアクセスをユーザーに提供し、新しい JDK リリースへのスムーズな移行のための十分なサポートを提供します。Zulu Enterprise は、必要に応じてバグ修正、セキュリティ更新、その他の修正へのアクセス (「運用サポート」) を STS リリースに 12 か月間提供します。さらに、コンサルティング サポートとユーザーの新しいバージョンの JDK への移行支援に重点を置いた 6 か月間追加サポートを提供します。 (「延長サポート」)。これは 18 か月のライフ サイクルに相当します。

  2. 中期サポート(MTS)。MTS リリースを使用すると、新しい LTS リリースを待つことなく、機能リリースで利用可能な新機能を運用環境で使用できるようになります。Azul は、LTS リリースの間に 1 年に 1 回の MTS リリースを計画しており、次の一般提供 LTS リリース日から 18 か月間実稼働サポートを提供します。これにより、時間の重複がなくなり、実稼働デプロイ中に「スムーズな」移行が保証されます。実稼働サポートが終了した後は、さらに 12 か月の延長サポートが提供されます。

  3. 長期サポート(LTS)。OpenJDK コミュニティによって LTS とみなされるリリースに対して提供され、8 年間の実稼働サポートとさらに 2 年間の延長サポートが提供されます。
わかりやすくするために別の図を示します。
JDK - 3 の新しいバージョンが頻繁にリリースされることは何をもたらすのでしょうか?
図内: Java SE ライフサイクル – 5 年以上のスケジュール Oracle 公開バイナリ (サポートされていない) Oracle 商用サポート Oracle 拡張商用サポート Azul Zulu 実稼働商用サポート Azul Zulu 拡張 (パッシブ) 商用サポート
Java SE ライフサイクル - 5 年以上のスケジュール Oracle のパブリック実行可能ファイル (サポートなし) Oracle 商用サポート Oracle 延長商用サポート Azul Zulu からの商用プロダクション サポート Azul Zulu からの延長 (パッシブ) 商用サポート
現在、商用サポート契約なしで JDK 8 を使用しており、公開アップデートを通じてシステムの安定性と安全性を維持している場合は、9 月から何をするか考えた方がよいかもしれません。Azul はこれについて全力でサポートいたしますので、サポートが必要な場合はお気軽にお問い合わせください。

結論

今年は Java プラットフォームのいくつかの側面が変化しており、そのほとんどが良い方向に変化しています。新機能へのアクセスの高速化、フライト レコーダーやミッション コントロールなどのユーティリティのオープン リリース、「クラスパス」例外を含む GPLv2 ライセンスに基づく OpenJDK 実行可能ファイルのリリース。しかし、悲しいことに、Java プラットフォームに対する通常の寛大な無料サポートは過去のものになりつつあります。Java は依然として安定しており、安全で、無料です。これら 3 つの品質のうち、あなたとあなたのユーザーにとって最も重要なのはどれですか?
JDK - 4 の新しいバージョンが頻繁にリリースされることは何をもたらすのでしょうか?

著者について

Simon Ritter は、Azul Systems の副テクニカル ディレクターです。Simon は 1984 年から IT ビジネスに携わっており、英国のブルネル大学で物理学の学士号を取得しています。

Simon は 1996 年に Sun Microsystems に入社し、Java の開発とコンサルティングの両方に時間を費やしました。1999 年以来、コア Java プラットフォームとクライアントおよび組み込みアプリケーションの両方に焦点を当てて、Java テクノロジを開発者にデモンストレーションしてきました。現在、Azul Systems で、人々が Java と Azul の JVM 製品をよりよく理解できるよう支援し続けています。Twitter で彼をフォローできます: @speakjava

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION