第2章 Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の主な違い
Red Hat build of OpenJDK 8 から Java アプリケーションを移行する場合は、まず Red Hat build of OpenJDK 11 で導入された変更点をよく理解する必要があります。これらの変更により、Red Hat build of OpenJDK 21 に移行する前に、既存の Red Hat build of OpenJDK インストールを再設定する必要がある場合があります。
この章では、現在 Red Hat build of OpenJDK 8 を使用している場合のみが対象です。すでに Red Hat build of OpenJDK 11 以降を使用している場合は、この章は無視できます。
Red Hat build of OpenJDK 8 とそれ以降のバージョンの主な違いの 1 つは、Red Hat build of OpenJDK 11 以降にモジュールシステムが含まれていることです。Red Hat build of OpenJDK 8 から移行する場合は、アプリケーションのライブラリーとモジュールを Red Hat build of OpenJDK 8 のクラスパスから Red Hat build of OpenJDK 11 以降のモジュールクラスに移動することを検討してください。この変更により、アプリケーションのクラスローディング機能を向上させることができます。
Red Hat build of OpenJDK 11 以降のバージョンには、メモリー使用量の向上、起動速度の向上、コンテナー統合の向上など、アプリケーションのパフォーマンスを向上させることができる新機能と機能拡張が含まれています。
一部の機能は、Red Hat build of OpenJDK と、OpenJDK の他のアップストリームコミュニティーバージョンまたはサードパーティーバージョンとで異なる場合があります。以下に例を示します。
- Shenandoah ガベージコレクターは、Red Hat build of OpenJDK のすべてのバージョンで使用できますが、この機能は OpenJDK の他のビルドではデフォルトで使用できない可能性があります。
- OpenJDK 8 の JDK Flight Recorder (JFR) サポートはバージョン 8u262 以降で利用可能になり、バージョン 8u272 以降ではデフォルトで有効になっていますが、特定のビルドでは JFR が無効になっている可能性があります。JFR 機能は OpenJDK 11 の JFR のオープンソースバージョンからバックポートされたため、Red Hat build of OpenJDK 8 の JFR 実装は、Red Hat build of OpenJDK 11 以降の JFR とほぼ同じです。この JFR 実装は Oracle JDK 8 の JFR とは異なるため、Oracle JDK から Red Hat build of OpenJDK8 以降に移行場合は、JFR を使用するためのコマンドラインオプションに注意する必要があります。
- OpenJDK の 32 ビットビルドは、通常、OpenJDK 8 以降でサポートされておらず、今後のバージョンで利用できない可能性があります。32 ビットビルドは、Red Hat build of OpenJDK のすべてのバージョンでサポートされません。
2.1. 暗号化とセキュリティー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の間には、暗号化とセキュリティーに若干の違いがあります。ただし、Red Hat build of OpenJDK の両バージョンには、多くの類似した暗号化およびセキュリティー動作があります。
Red Hat build of OpenJDK はシステム全体の証明書を使用し、各ビルドはシステムのグローバル設定から無効な暗号化アルゴリズムのリストを取得します。これらの設定は、Red Hat build of OpenJDK のすべてのバージョンに共通であるため、Red Hat build of OpenJDK 8 から Red Hat build of OpenJDK 11 以降に簡単に変更できます。
FIPS モードでは、Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 のリリースは自己設定されるため、どちらのリリースでも起動時に同じセキュリティープロバイダーが使用されます。
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の TLS スタックは同じです。これは、Red Hat build of OpenJDK 11 の SunJSSE エンジンが Red Hat build of OpenJDK 8 にバックポートされたためです。Red Hat build of OpenJDK の両バージョンが、TLS 1.3 プロトコルをサポートしています。
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の間には、次のように、暗号化とセキュリティーに若干の違いがあります。
| Red Hat build of OpenJDK 8 | Red Hat build of OpenJDK 11 |
|---|---|
|
TLS クライアントは、デフォルトではターゲットサーバーとの通信に TLSv1.3 を使用しません。この動作を変更するには、 | TLS クライアントはデフォルトで TLSv.1.3 を使用します。 |
|
このリリースでは、Diffie-Hellman 鍵交換における |
このリリースでは、Diffie-Hellman 鍵交換における |
|
このリリースでは、セキュリティー上の理由から無効になっている従来の KRB5 ベースの暗号スイートが引き続きサポートされます。 | このリリースでは、従来の KRB5 ベースの暗号スイートはサポートされていません。 |
| このリリースでは、Datagram Transport Layer Security (DTLS) プロトコルはサポートされていません。 | このリリースでは DTLS プロトコルはサポートされています。 |
|
DTLS で使用される |
|