Red Hat build of OpenJDK 21.0.3 のリリースノート


Red Hat build of OpenJDK 21

Red Hat Customer Content Services

概要

Red Hat build of OpenJDK 21.0.3 のリリースノート』 では、Red Hat build of OpenJDK 21 の新機能の概要と、潜在的な既知の問題と考えられる回避策のリストを提供します。

はじめに

Open Java Development Kit (OpenJDK) は、Java Platform Standard Edition (Java SE) のオープンソース実装です。Red Hat build of OpenJDK は、8u、11u、17u、21u の 4 つのバージョンで利用できます。

Red Hat build of OpenJDK 向けパッケージは、Red Hat Enterprise Linux および Microsoft Windows で利用でき、Red Hat Ecosystem Catalog の JDK および JRE として同梱されています。

Red Hat build of OpenJDK ドキュメントへのフィードバック

エラーを報告したり、ドキュメントの改善を提案したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. 次のリンクをクリックして チケットを作成します
  2. Summary に課題の簡単な説明を入力します。
  3. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
  4. Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Red Hat build of OpenJDK のサポートポリシー

Red Hat は、Red Hat build of OpenJDK の一部のメジャーバージョンを製品でサポートします。一貫性を保つために、これらのバージョンは長期サポート (LTS) として指定されている Oracle JDK バージョンと同様のままとなります。

Red Hat build of OpenJDK のメジャーバージョンは、最初に導入された時点から少なくとも 6 年間サポートされます。詳細は、OpenJDK のライフサイクルおよびサポートポリシー を参照してください。

注記

RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、Red Hat build of OpenJDK はサポート対象設定として RHEL 6 をサポートしません。

第2章 アップストリームの OpenJDK 21 との相違点

Red Hat Enterprise Linux の OpenJDK には、Red Hat build of OpenJDK のアップストリームディストリビューションの構造上の変更が数多く含まれています。Microsoft Windows バージョンの Red Hat build of OpenJDK は、Red Hat Enterprise Linux の更新にできる限り従います。

以下は、Red Hat build of OpenJDK 21 における最も注目すべき変更のリストです。

  • FIPS のサポート。Red Hat build of OpenJDK 21 は、RHEL が FIPS モードであるかを自動的に検出し、Red Hat build of OpenJDK 21 がそのモードで動作するように自動的に設定します。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
  • 暗号化ポリシーのサポート。Red Hat build of OpenJDK 21 は、有効な暗号化アルゴリズムとキーサイズ制約のリストを RHEL システム設定から取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
  • src.zip ファイルには、Red Hat build of OpenJDK に同梱されるすべての JAR ライブラリーのソースが含まれます。
  • RHEL の Red Hat build of OpenJDK は、タイムゾーン情報のソースとして、システム全体のタイムゾーンデータファイルを使用します。
  • RHEL の Red Hat build of OpenJDK は、システム全体の CA 証明書を使用します。
  • Microsoft Windows の Red Hat build of OpenJDK には、RHEL で利用可能な最新のタイムゾーンデータが含まれています。
  • Microsoft Windows 向け Red Hat build of OpenJDK は、RHEL から入手可能な最新の CA 証明書を使用します。

第3章 Red Hat build of OpenJDK の機能

最新の Red Hat build of OpenJDK 21 リリースには、新機能が含まれる可能性があります。さらに、最新リリースは、以前の Red Hat build of OpenJDK 21 リリースに由来する機能を強化、非推奨、または削除する可能性があります。

注記

その他の変更点やセキュリティー修正は、OpenJDK 21.0.3 Released を参照してください。

Red Hat build of OpenJDK の機能強化

Red Hat build of OpenJDK 21 では、以前のリリースの Red Hat build of OpenJDK で作成された機能に拡張が行われました。

Java コンパイラーは、レコードパターンの final キーワードを拒否することにより、Java 言語仕様に準拠しています。

Java 21 リリースでは、switch ステートメントのパターン一致で Java 言語が強化されました。ただし、Red Hat build of OpenJDK 21 では、レコードパターンの前に final キーワードを使用できる javac コンパイラーが提供されています (例: case final R(…​) ->)。final キーワードの使用は Java 言語仕様に違反しています。

Red Hat build of OpenJDK 21.0.3 では、javac コンパイラーは Java 言語仕様に合わせて調整されています。この機能強化は、switch ステートメントに final キーワードを含むプログラムがコンパイルに失敗することを意味します。このような状況では、プログラムが正常にコンパイルされるようにするには、final キーワードを削除する必要があります。

JDK-8317300 (JDK Bug System) を参照してください。

XML Security for Java が Apache Santuario 3.0.3 に更新

Red Hat build of OpenJDK 21.0.3 では、XML 署名の実装は Apache Santuario 3.0.3 に基づいています。

この機能強化により、次の 4 つの SHA3 ベースの RSA-MGF1 SignatureMethod アルゴリズムが導入されました。

  • SHA3_224_RSA_MGF1
  • SHA3_256_RSA_MGF1
  • SHA3_384_RSA_MGF1
  • SHA3_512_RSA_MGF1

更新リリースで javax.xml.crypto.dsig.SignatureMethod API を変更して新しいアルゴリズムに定数値を提供するため、これらのアルゴリズムには次の同等の文字列リテラル値を使用します。

  • http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1
  • http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1
  • http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1
  • http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1

JDK-8319124 (JDK Bug System) を参照してください。

製品スイッチとして利用できる TrimNativeHeapInterval オプション

Red Hat build of OpenJDK 21.0.3 では、公式の製品スイッチとして -XX:TrimNativeHeapInterval=ms オプションが提供されます。この機能強化により、JVM はサポートされているプラットフォーム上で指定された間隔 (ミリ秒単位) でネイティブヒープをトリミングできるようになります。現在、この機能強化がサポートされているプラットフォームは、glibc を搭載した Linux のみです。

TrimNativeHeapInterval=0 を設定するとトリミングを無効にすることができます。トリミング機能はデフォルトで無効になっています。

JDK-8325496 (JDK Bug System) を参照してください。

SystemTray.isSupported() メソッドが、ほとんどの Linux デスクトップで false を返す

Red Hat build of OpenJDK 21.0.3 では、SystemTray API を正しくサポートしていないシステムで、java.awt.SystemTray.isSupported() メソッドが false を返します。この機能拡張は、SystemTray API 仕様に準拠しています。

SystemTray API は、システムデスクトップのタスクバーと対話して通知を提供します。SystemTray には、アプリケーションを表すアイコンが含まれている場合もあります。基盤となるプラットフォームの問題により、タスクバーアイコンの GNOME デスクトップサポートが数年間正しく機能しませんでした。このプラットフォームの問題は、GNOME デスクトップで SystemTray サポートを提供する JDK の機能に影響します。この問題は通常、GNOME Shell 44 以前を使用するシステムに影響します。

注記

一部のシステムでは、SystemTray の正しいサポートが不足していることが長年の問題となっているため、影響を受けるシステムで false を返すこの API 強化は、ユーザーへの影響を最小限に抑えられると考えられます。

JDK-8322750 (JDK Bug System) を参照してください。

Certainly R1 と E1 ルート証明書が追加される

Red Hat build of OpenJDK 21.0.3 では、cacerts トラストストアに 2 つの Certainly ルート証明書が含まれています。

証明書 1
  • 名前: Certainly
  • エイリアス名: certainlyrootr1
  • 識別名: CN=Certainly Root R1、O=Certainly、C=US
証明書 2
  • 名前: Certainly
  • エイリアス名: certainlyroote1
  • 識別名: CN=Certainly Root E1、O=Certainly、C=US

JDK-8321408 (JDK Bug System) を参照してください。

若いコレクションルートの大規模オブジェクト配列の正確な並列スキャン

若い世代のオブジェクトの収集中に、Parallel Garbage Collector (GC) は、古い世代のオブジェクトを 64 kB のストライプに分割し、若い世代への参照をスキャンします。これらのストライプはワーカースレッドに割り当てられ、並列でスキャンを実行します。

Red Hat build of OpenJDK 21 の以前のリリースでは、ワーカースレッドが独自のストライプに制限されていませんでした。この制約の欠如により、並列処理に制限が課せられました。たとえば、大きなオブジェクトが特定のワーカースレッドに割り当てられたストライプで開始した場合、このスレッドは複数のストライプにわたって何千もの参照を持つオブジェクトをスキャンすることになる可能性があります。

Red Hat build of OpenJDK 21.0.3 は、各ワーカースレッドを割り当てたストライプに制限します。各スレッドは、大きなオブジェクト配列の重要な部分のみを処理するようになりました。大きなオブジェクト配列が存在する場合、Parallel GC の一時停止は、Garbage-First (G1) コレクターの一時停止と同様になります。場合によっては、この機能強化により一時停止の長さが 75-80% 短縮されます。たとえば、以前のリリースでは 100 ミリ秒の一時停止でしたが、このリリースでは 20 ミリ秒の一時停止に短縮されます。

JDK-8310031 (JDK Bug System) を参照してください。

ZGC およびデフォルト以外の ObjectAlignmentInBytes 値を使用した場合の潜在的な JVM の障害を修正

Red Hat build of OpenJDK 21 の以前のリリースでは、-XX:+UseZGC オプションおよび -XX:ObjectAlignmentInBytes のデフォルト以外の値を指定して JVM を実行すると、JVM の失敗や誤作動につながる場合がありました。この問題は、ZBarrierSet::clone_obj_array がオブジェクト配列の末尾のパディングを無視したために発生しました。

Red Hat build of OpenJDK 21.0.3 ではこの問題が解決され、JVM の実行時に Z Garbage Collector (ZGC) と Java オブジェクトアライメントのデフォルト以外の値を使用する場合でも、JVM を正常に実行できるようになりました。

JDK-8325074 (JDK Bug System) を参照してください。

第4章 このリリースに関連するアドバイザリー

このリリースに含まれるバグ修正と CVE 修正を文書化するために、次のアドバイザリーが発行されます。

改訂日時: 2024-05-10

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.