ForkJoinPool 共通プール・クラス・ローダーに関する振る舞いの変更

Java 8 以前のバージョンでは、ForkJoinPool のクラス・ローダーは、ForkJoinPool を呼び出した親スレッドから継承されることがありました。このクラス・ローダー継承によって、メモリー・リークの問題が発生する可能性があります。Java 9 以降、ForkJoinPool クラス・ローダーは呼び出し側スレッドからクラス・ローダーを継承しなくなりました。アプリケーションがマルチスレッド環境で実行されている場合、スレッド・コンテキスト・クラス・ローダー伝搬に関連する振る舞いが異なる可能性があります。

この規則は、アプリケーション規則ごとに 1 回のフラグです。この規則は、以下のいずれかのメソッドを呼び出す (サブクラスの呼び出しを含む) アプリケーションにフラグを立てます。

注: この振る舞いの変更は、例えば MicroProfile Context Propagation、Jakarta/Java EE Concurrency、その他のアプリケーション固有の手段によって、スレッド・コンテキスト・クラス・ローダーの伝搬をまだ準備していない場合にのみ適用されます。

Java SE 9 の変更について詳しくは、 Java 9 Release Notes を参照してください。