非常に多くのJDK ...使用するJDKと危険は何ですか?

翻訳者から:この記事を翻訳する決定は、それ自体ではありませんでした-むしろ、それは必要な手段です:)。 私たちは、CUBAフレームワークのベンダーとして、この問題にapproach望の的となる規則性をもってアプローチしています。 もちろん、これは私たちにとっても非常に重要なトピックであり、最新の変更に対応して、Oracle JDKとOpenJDKの両方でテストスタンドを上げました。 ただし、このトピックはまだクローズされておらず、イベントの開発を引き続き厳密に監視しているため、来年は他のJDKアセンブリのスタンドを追加する必要があるかもしれません...







猫の下の記事は、問題とその機能を備えた最も人気のあるJDKを簡潔に説明しているという事実に魅了されます。







オラクルは最近リリース・バージョンへの新しいアプローチである「リリース・トレイン」への切り替えにより、Javaの進化が劇的に変化すると発表しました 。 この変更は、バージョンサポートに関しても変更を伴いました。これは、すべてのユーザーではなく、LTSバージョンのみに実装されるようになります 。 Java Champions Communityは、導入されている技術革新を明らかにしました 。詳細なドキュメントはオンラインで入手できます







このニュースでも、疑問が残ります。現在利用できるJDKビルドは何ですか? 無料または商用ですか? この質問に答える前に、製品としてのJDKの要件を理解することが重要です。 実際、コアJDKソースコードは1つしかありません。 彼はここにいます 。 誰でもソースコードを使用して独自のアセンブリを構築し、ネットワーク上のどこかに配置できます。 ただし、JDKアセンブリが有効であると見なされるためには、完了しなければならない別の認証手順があります。 認定は、技術互換性キット(TCK)を提供するJava Community Process (JCP)によって提供されます。 組織がTCKを満たす新しいOpenJDKアセンブリを作成する場合、「Java SE互換」と見なされます。







アセンブリ会社がオラクルから商用ライセンスを取得しない限り、アセンブリを「Java SE」と呼ぶことはできないことに留意してください。 たとえば、TCKを渡すAdoptOpenJDKビルドは「Java SE」ではなく、「Java SE準拠」です。 また、認証は現在「仮釈放」に基づいていることを考慮する必要があります。結果は検証のためにJCP / Oracleに送信されず、機密情報です。 つまり、OpenJDKソースコードを取得してバージョンをビルドするすべてのベンダーは、別のJDKビルドを生成します。







OpenJDKbilds







そのため、これ以上苦労することなく、すぐに使用できる次のJDKに精通することをお勧めします。







Oracle JDK



これはJava 11のメインプロバイダーです (リリースは既に行われています)。 これは有料サポート付きの商用バージョンです。 無料でダウンロードでき、開発用にのみ直接使用できます。 Oracleに料金を支払わずに本番環境で使用することはできません (したがって、ライセンスに興味がない多くの人にとって、これはthisです)。 オラクルは、2026年までおよびそれ以降に有料サポートを提供する予定です。 以前とは異なり、Oracle JDKアセンブリはOpenJDKよりも「優れた」ものではありません(両方が同じセキュリティパッチレベルである限り)。







Oracle OpenJDKビルド



クラスパス拡張機能を備えたGPLの下で配布されているOpenJDKの無料の非ブランドバージョンがあります(商用利用に適しています)。 これらのビルドバージョンは、リリース後6か月間のみ利用可能です。 Java 11は、Javaバージョン11.0.0と2つのセキュリティパッチ11.0.1および11.0.2をリリースする予定です。 OracleのOpenJDKバージョンとそのパッチを引き続き使用するには、起動後1か月以内にJava 12にアップグレードする必要があります。 セキュリティパッチを提供する手順は、エラーレポートを処理するための支払いを含むサポートを提供する手順とは異なることに注意してください。







AdoptOpenJDK



これらは無料でブランド化されていないOpenJDKビルドであり、Classpath拡張機能付きのGPLで配布されます。OracleのOpenJDKビルドとは異なり、これらのビルドバージョンはJava 11などのメジャーバージョンでより長く続きます。Java11 バージョンがリリースされます次のメジャーリリースから1年後の4年間 。 AdoptOpenJDKはコミュニティ指向です。 他のチームは、元のOpenJDKリポジトリのセキュリティ修正プログラムを作成して公開しますが、ビルドをリリースします。 IBMとRed Hatの両方が、そのようなパッチをリリースする予定であることを示しています。







OpenJDK OpenJ9を採用



標準のOpenJDKビルドに加えて、AdoptOpenJDKはHotSpotではなくOpenJ9のバージョンも提供します。 OpenJ9はもともとIBM JVMでしたが、現在OpenJ9はオープンソースです。 ちなみに、このオプションは最も勉強に値するものです。







Red Hat OpenJDK



Red Hatは、有償サポート付きの商用製品であるRed Hat Enterprise Linux(RHEL)でOpenJDKビルドバージョンを提供します。 Red Hatは、OpenJDKのセキュリティ修正に関して非常に優れた仕事をしています。 以前は、Red HatはJava 6および7のセキュリティアップデートを担当していましたが、Red Hatビルドはオペレーティングシステムとより統合されているため、一般的なOpenJDKビルドとは言えません(エンドユーザーJDKはありません)。







アズール・ズールー



Zuluは、有料の商用サポートを備えたOpenJDKのブランドバージョンです。 さらに、AzulはZuluコミュニティを通じて無料でZuluアイテムを提供していますが、これらのアセンブリを利用可能にする特別な義務はありません。 Azulには、他のベンダーとは異なり、Java 9、13、および15のサポートを含む 、かなり大きなZuluサポートプランがあります。







アマゾンコレット



これは、説明されているすべてのオプションの最新のものです。 Correttoは、TCKを介した長期サポートを備えたOpenJDKビルドの無料バージョンです。 OpenJDKのすべてのバージョン(GPL + CE)の標準ライセンス条件で配布されます。 Amazonは独自のパッチを作成し、AWSでCorrettoを起動するため、かなり積極的に使用されます(すでに一部の製品に追加されています)。 Java 8のサポートは、少なくとも2023年6月まで予定されています。







元のOpenJDKを異なるバージョンのアセンブリに変換するプロセスで、製造元はさまざまなユーティリティを追加したり、認証(TCK)を除外しない場合は製品をブランド化できます。 たとえば、新しいパブリックメソッドをAPIまたは新しい言語リソースに追加することはできません。







IBMやSAPMachineなどの他のJDK実装があります。 ただし、これらのバージョンのアセンブリはそれほど頻繁には使用されないため、この記事では取り上げません。 詳細については、 こちらこちらをご覧ください







おわりに



個人的には、JDKのいくつかのバージョンには特定の問題はありません。それらはすべて認定(TCK)する必要があるからです。 本当に心配する価値があるのは、将来の頭痛を避けるために、プロプライエタリなJDKの1つとOracleのアセンブリの無料バージョンを使用することです。 基本機能のみを使用する場合(たとえば、ビジネスがセキュリティ更新プログラムに特に依存していない場合)、OracleからのOpenJDKビルド(OracleJDKではない)の方が適しています。 それらは絶えず更新され(リリース後6か月以内)、問題なく本番環境でJDKを使用できます。 ビジネスでクラウドサービスを使用する場合(またはAWSを使用する場合)、 Amazon LinuxおよびDocker既に使用可能な AWS Correttoが適切な選択です。








All Articles