第3章 OpenJDK の機能

最新の Open JDK11 リリースには、新機能が含まれている可能性があります。さらに、最新リリースは、以前の Open JDK 11 リリースに由来する機能を強化、非推奨、または削除する可能性があります。

注記

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

OpenJDK の新機能および拡張された機能

次のリリースノートで、OpenJDK 11.0.19 リリースに含まれる新機能および機能拡張を確認してください。

GregorianCalendar.computeTime() 使用時の JVM クラッシュのリスクの軽減

OpenJDK 17.0.7 では、GregorianCalendar.computeTime() メソッドを使用すると仮想マシンのクラッシュが発生する可能性がありました (JDK-8307683)。この JVM クラッシュの根本原因は古い問題です。ただし、C2 コンパイラーのまれな問題 (JDK-8297951) に対する最近の修正により、JVM クラッシュの可能性が大幅に増加しました。リスクを軽減するために、OpenJDK 17.0.8 リリースには C2 コンパイラーの修正が含まれていません。JVM クラッシュの根本原因が解決されると (JDK-8307683)、OpenJDK は C2 コンパイラーの修正を再導入します (JDK-8297951)。

JDK-8308884 (JDK バグシステム) を参照してください。

GB18030-2022 サポートの追加の文字を許可

2022 標準の GB18030-2022 標準の実装レベル 1 をサポートするには、OpenJDK は、OpenJDK 11 のベースとなる Unicode 10 の範囲を超える 5 文字の追加文字の使用をサポートする必要があります。Java SE 11 仕様のメンテナンスリリース 2 では、OpenJDK 11.0.20 が実装するこれらの追加文字のサポートが追加されます。

追加の文字は次のとおりです。

  • 0x82359632 U+9FEB
  • 0x82359633 U+9FEC
  • 0x82359634 U+9FED
  • 0x82359635 U+9FEE
  • 0x82359636 U+9FEF

JDK-8303465 (JDK バグシステム) を参照してください。

GB18030-2022 のサポート

中国電子標準化協会 (CESI) は最近、GB18030 標準の更新として GB18030-2022 を発行し、文字セットを Unicode 11.0 と同期させました。GB18030-2022 標準は、OpenJDK 17.0.8 が使用するデフォルトの GB18030 文字セットになりました。ただし、この更新された文字セットには、OpenJDK 17 の以前のリリースで使用されていた GB18030-2000 と比較して互換性のない変更が含まれています。OpenJDK 17.0.8 以降では、以前のバージョンの文字セットを使用する場合は、新しいシステムプロパティー jdk.charset.GB180302000 に設定されていることを確認してください。

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

ZIP パフォーマンスの強化

OpenJDK 11.0.20 リリースには、.zip ファイルの ZIP64 フィールドでの拡張チェックが含まれています。これらのチェックで信頼された .zip ファイルでエラーが発生した場合は、新しいシステムプロパティー jdk.util.zip.disableZip64ExtraFieldValidationtrue に設定して、これらのチェックを無効にすることができます。

JDK バグシステムリファレンス ID: JDK-8296832

JAR 署名の検証の強化

新しいシステムプロパティー jdk.jar.maxSignatureFileSize を設定して、Java アーカイブ(JAR)ファイルの署名関連ファイルに許可される最大バイト数を設定できるようになりました。デフォルトでは、jdk.jar.maxSignatureFileSize プロパティーは 8000000 バイト(8 MB)に設定されます。

JDK バグシステムリファレンス ID: JDK-8296832

javadoc ツールは、標準の doclet が生成するファイルのライセンスに関連する法的ファイルの追加をサポートするようになりました。この機能を設定するには、新しい --legal-notices コマンドラインオプションを使用できます。

JDK-8303465 (JDK バグシステム) を参照してください。

GTS ルート認証局 (CA) 証明書が追加されました

OpenJDK 17.0.8 リリースでは、cacerts トラストストアに 4 つの Google Trust Services (GTS) ルート証明書が含まれています。

証明書 1
  • 名前: Google Trust Services LLC
  • エイリアス名: gtsrootcar1
  • 識別名: CN=GTS Root R1, O=Google Trust Services LLC, C=US
証明書 2
  • 名前: Google Trust Services LLC
  • エイリアス名: gtsrootcar2
  • 識別名: CN=GTS Root R2, O=Google Trust Services LLC, C=US
証明書 3
  • 名前: Google Trust Services LLC
  • エイリアス名: gtsrootcar3
  • 識別名: CN=GTS Root R3, O=Google Trust Services LLC, C=US
証明書 4
  • 名前: Google Trust Services LLC
  • エイリアス名: gtsrootcar4
  • 識別名: CN=GTS Root R4, O=Google Trust Services LLC, C=US

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

Microsoft Corporation のルート CA 証明書が追加されました

OpenJDK 17.0.8 リリースでは、cacerts トラストストアに 2 つの Microsoft Corporation ルート証明書が含まれています。

証明書 1
  • 名前: Microsoft Corporation
  • エイリアス名: microsoftecc2017
  • 識別名: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
証明書 2
  • 名前: Microsoft Corporation
  • エイリアス名: microsoftrsa2017
  • 識別名: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US

JDK-8304760 (JDK バグシステム) を参照してください。

TWCA ルート CA 証明書が追加されました

OpenJDK 17.0.8 リリースでは、cacerts トラストストアに台湾認証局 (TWCA) のルート証明書が含まれています。

  • 名前: TWCA
  • エイリアス名: twcaglobalrootca
  • エイリアス名: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

JDK-8305975 (JDK バグシステム) を参照してください。