Eclipse Temurin 21.0.4 のリリースノート


Red Hat build of OpenJDK 21

Red Hat Customer Content Services

概要

Eclipse Temurin 21.0.4 のリリースノートでは、OpenJDK 21 新機能の概要と、潜在的な既知の問題および考えられる回避策のリストを提供します。

はじめに

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

Eclipse Temurin のバイナリーファイルは、macOS、Microsoft Windows と、Red Hat Enterprise Linux や Ubuntu を含む複数の Linux x86 オペレーティングシステムで利用できます。

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

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

手順

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

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

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

第1章 Eclipse Temurin のサポートポリシー

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

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

注記

RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、Eclipse Temurin はサポート対象の構成として RHEL 6 をサポートしません。

第2章 Eclipse Temurin の機能

Eclipse Temurin には、OpenJDK のアップストリームディストリビューションの構造の変更は含まれません。

Eclipse Temurin の最新の OpenJDK 21 リリースに含まれる変更点とセキュリティー修正のリストは、OpenJDK 21.0.4 Released を参照してください。

新機能および機能拡張

Eclipse Temurin 21.0.4 リリースに含まれる新機能と機能強化を理解するには、次のリリースノートを確認してください。

-XshowSettings ランチャーオプションには security カテゴリーが含まれています

OpenJDK 21.0.4 では、-XshowSettings ランチャーオプションにセキュリティーカテゴリーが含まれており、次の引数を渡すことができるようになりました。

Expand
引数詳細

-XshowSettings:security

あるいは、以下のような場合もあります。

-XshowSettings:security:all

すべてのセキュリティー設定を表示して続行します。

-XshowSettings:security:properties

セキュリティープロパティーを表示して続行します。

-XshowSettings:security:providers

静的セキュリティープロバイダーの設定を表示して続行します。

-XshowSettings:security:tls

TLS 関連のセキュリティー設定を表示して続行します。

サードパーティーのセキュリティープロバイダーがアプリケーションのクラスパスまたはモジュールパスに含まれていて、java.security ファイルで設定されている場合、出力にはこれらのサードパーティーのセキュリティープロバイダーが含まれます。

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

GlobalSign R46 および E46 ルート証明書が追加されました

OpenJDK 21.0.4 では、cacerts トラストストアに 2 つの GlobalSign TLS ルート証明書が含まれています。

証明書 1
  • 名前: GlobalSign
  • 別名: globalsignr46
  • 識別名: CN=GlobalSign Root R46、O=GlobalSign nv-sa、C=BE
証明書 2
  • 名前: GlobalSign
  • 別名: globalsigne46
  • 識別名: CN=GlobalSign Root E46、O=GlobalSign nv-sa、C=BE

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

POST のみの OCSP リクエストのフォールバックオプション

OpenJDK 17 で導入された JDK-8175903 では、Online Certificate Status Protocol (OCSP) 要求に HTTP GET メソッドを使用するためのサポートが追加されました。この機能は、小さなリクエストに対して無条件に有効化されました。

Internet Engineering Task Force (IETF) RFC 5019 および RFC 6960 では、HTTP GET 要求の使用が明示的に許可され、推奨されています。ただし、一部の OCSP レスポンダーは、これらのタイプの要求に適切に対応しません。

OpenJDK 21.0.4 では、JDK システムプロパティー com.sun.security.ocsp.useget が導入されました。デフォルトでは、このプロパティーは true に設定されており、小さな要求に対して GET 要求を使用する現在の動作が保持されます。このプロパティーが false に設定されている場合は、サイズに関係なく、HTTP POST 要求のみが使用されます。

注記

POST のみの OCSP 要求に対するこのフォールバックオプションは非標準機能であり、OCSP レスポンダーでの HTTP GET 要求の使用によって問題が発生しなくなった場合は、今後のリリースで削除される可能性があります。

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

内部 JDK バイナリーの $ORIGIN ランタイム検索パスでは、RUNPATH よりも RPATH が優先されます。

JDK のネイティブ実行可能ファイルとライブラリーは、埋め込みランタイム検索パス (rpaths) を使用して、必要な内部 JDK ネイティブライブラリーを検索します。Linux システムでは、バイナリーは DT_RPATH または DT_RUNPATH のいずれかを使用してこれらの検索パスを指定できます。

  • バイナリーが DT_RPATH を使用して検索パスを指定すると、これらのパスは LD_LIBRARY_PATH 環境変数で指定されたパス よりも先に 検索されます。
  • バイナリーが DT_RUNPATH を使用して検索パスを指定すると、これらのパスは LD_LIBRARY_PATH で指定されたパス の後に のみ検索されます。つまり、DT_RUNPATH を使用すると、LD_LIBRARY_PATH で指定された同じ名前のライブラリーによって JDK 内部ライブラリーが上書きされる可能性があります。

以前のリリースでは、使用されるランタイム検索パスのタイプは、動的リンカーのデフォルトの検索パスに基づいていました。OpenJDK 21.0.4 では、DT_RPATH が確実に使用されるように、--disable-new-dtags オプションがリンカーに明示的に渡されます。

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

Debian および Ubuntu システムでは、jpackage ツールは dpkg -S コマンドを使用して、特定のファイルを提供するパッケージを確認します。ただし、新しい Debian および Ubuntu システムでは、dpkg -S コマンドはシンボリックリンクを解決しません。

OpenJDK 21.0.4 では、jpackage は実際のファイルパスを dpkg に渡す前にシンボリックリンクを解決します。

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

G1 ガベージコレクターは、Remark フェーズ中にヒープのサイズ変更を行うために既存の Eden リージョンを無視します。

-XX:MinHeapFreeRatio 設定および -XX:MaxHeapFreeRatio 設定に準拠するために、Garbage-First (G1) ガベージコレクターは、ガベージコレクションの Remark フェーズ中に Java ヒープサイズを調整し、空きリージョンの数をこれらの制限内に保ちます。

以前のリリースでは、Java ヒープサイズを計算する目的で、eden リージョンは占有されているかいっぱいであると見なされていました。つまり、ヒープサイズは、Remark フェーズが実行された時点での Eden の占有率に依存していました。しかし、次のガベージコレクションの後、これらの Eden リージョンは空になりました。

OpenJDK 21.0.4 では、Remark フェーズの計算中に eden リージョンは空または解放状態であると見なされます。この機能強化により、空きリージョンの数がそれほど変化しなくなるため、G1 ガベージコレクターは Java ヒープをそれほど積極的ではなく、より確定的に拡張するようになりました。この機能強化により、Java ヒープサイズも完全なガベージコレクションヒープサイズと一致するようになります。ただし、これにより、ガベージコレクションがより頻繁に実行する可能性があります。

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

Code Root Scan フェーズ中の不均衡な反復によるガベージコレクションの長時間停止を修正

ガベージコレクションの Code Root Scan フェーズでは、コンパイルされたコード内の Java オブジェクトへの参照が検出されます。このプロセスを高速化するために、Java ヒープへの参照を含むコンパイル済みコードの各リージョン内にキャッシュが維持されます。

参照セットが小さいという前提で、以前のリリースでは、リージョンごとに 1 つのスレッドを使用してこれらの参照を反復処理していました。このシングルスレッドアプローチでは、スケーラビリティーボトルネックが発生し、特定のリージョンに多数の参照が含まれている場合にパフォーマンスが低下することがあります。

OpenJDK 21.0.4 では、複数のスレッドが使用され、スケーラビリティーのボトルネックを解消するのに役立ちます。

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

Stop-the-World コレクターでの長時間のガベージコレクション停止を修正

OpenJDK 21 の初期リリースでは、Stop-the-World (STW) ガベージコレクション中にアプリケーションが長時間停止する可能性がありました。この問題は、Serial、Parallel、G1 コレクターなど、すべてのタイプの STW ガベージコレクターにおける、Class UnloadingRoot ScanningCodeCache Unloading など、コレクションの一時停止のさまざまなフェーズに影響を及ぼしました。

OpenJDK 21.0.4 では、STW コレクターのこれらのパフォーマンスの問題が解決されています。

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

Windows での AWT ヘッドレスモード検出の動作の変更

以前のリリースでは、java.awt.headless システムプロパティーが true に設定されていない限り、Windows Server プラットフォームで java.awt.GraphicsEnvironment.isHeadless() を呼び出すと false が返されました。

OpenJDK 21.0.4 以降では、java.awt.headless プロパティーが明示的に false に設定されておらず、実行時に現在のシステムで有効なモニターが検出されない場合に、Windows Server プラットフォームで java.awt.GraphicsEnvironment.isHeadless() を呼び出すと true が返されます。たとえば、セッションがサービスまたは PowerShell リモート処理によって開始した場合は、有効なモニターが検出されない可能性があります。

この動作の変更は、以前はヘッドフルコンテキストで実行することが想定されていたこれらの条件下で実行されるアプリケーションで、Abstract Window Toolkit (AWT) 操作によって予期しない HeadlessException エラーが出力される可能性があることを意味します。

java.awt.headless プロパティーを false に設定することで、古い動作を復元できます。ただし、アプリケーションがヘッドフルモードで実行されていて、有効なディスプレイが利用できない場合は、これらのアプリケーションで予期しない問題が引き続き発生する可能性があります。

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

改訂日時: 2024-08-02

法律上の通知

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