第 4 章 Red Hat build of OpenJDK 功能

最新的 Red Hat build of OpenJDK 11 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 11 版本的功能。

注意

有关所有其他更改和安全修复,请参阅 OpenJDK 11.0.20 发行版本

红帽构建的 OpenJDK 新功能及改进

查看以下发行注记以了解红帽构建的 OpenJDK 11.0.20 发行版本中包含的新功能和功能增强:

使用 GregorianCalendar.computeTime ()时降低 JVM 崩溃的风险。

在红帽构建的 OpenJDK 11.0.19 中,当使用 GregorianCalendar.computeTime () 方法(JDK-8307683)方法时,虚拟机崩溃可能会发生。虽然旧问题是此 JVM 崩溃的根本原因,但 C2 编译器(JDK-8297951)中个别问题的最近修复也会显著提高 JVM 崩溃的可能性。为降低风险,红帽构建的 OpenJDK 11.0.20 发行版本排除了 C2 编译器的修复。当 JVM 崩溃的根本原因被解决(JDK-8307683)后,OpenJDK 的 Red Hat build 将重新引入 C2 编译器的修复(JDK-8297951)。

请参阅 JDK-8308884 (JDK Bug System)

GB18030-2022 支持的额外字符

为了支持 GB18030-2022 标准中的"Implementation Level 1",红帽构建的 OpenJDK 必须支持使用超过 Unicode 10 的额外字符,红帽构建 OpenJDK 11 基于它。Java SE 11 规范的维护版本 2 添加了对这些额外字符的支持,红帽构建的 OpenJDK 11.0.20 实现了它们。

其他字符如下:

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

请参阅 JDK-8301401 (JDK Bug System)

支持 GB18030-2022

中国电池标准研究所(CESI)最近发布了 GB18030-2022,作为对 GB18030 标准的更新,与 Unicode 11.0 同步字符集。GB18030-2022 标准现在是 Red Hat build of OpenJDK 11.0.20 使用的默认 GB18030 字符集。但是,与之前使用的 OpenJDK 11 版本相比,这个更新的字符集包含不兼容的更改。从红帽构建的 OpenJDK 11.0.20 之后,如果要使用之前的字符集版本,请确保将新系统属性 jdk.charset.GB18030 设置为 2000

请参阅 JDK-8301119 (JDK Bug System)

增强的 ZIP 性能

红帽构建的 OpenJDK 11.0.20 发行版本包括对 .zip 文件的 ZIP64 字段进行增强的检查。如果这些检查在可信 .zip 文件中导致失败,您可以通过将新的系统属性 jdk.util.zip.disableZip64ExtraFieldValidation 设置为 true 来禁用这些检查。

JDK bug system reference ID: JDK-8302483.

增强的 JAR 签名验证

现在,您可以通过设置新的系统属性 jdk.jar.maxSignatureFileSize 来配置 Java 存档(JAR)文件中允许的最大字节数。默认情况下,jdk.jar.maxSignatureFileSize 属性设置为 8000000 字节(8 MB)。

JDK bug system reference ID: JDK-8300596.

javadoc 工具现在支持包含法律文件,这些文件与标准 doclet 生成的文件许可相关。您可以使用新的 --legal-notices 命令行选项来配置此功能。

请参阅 JDK-8259530 (JDK Bug System)

添加了 GTS root 证书颁发机构(CA)证书

在 Red Hat build of OpenJDK 11.0.20 版本中,cacerts truststore 包括四个 Google Trust Services (GTS) root 证书:

证书 1
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar1
  • 区分名称: CN=GTS Root R1, O=Google Trust Services LLC, C=US
证书 2
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar2
  • 区分名称: CN=GTS Root R2, O=Google Trust Services LLC, C=US
证书 3
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar3
  • 可分辨名称:CN=GTS Root R3, O=Google Trust Services LLC, C=US
证书 4
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar4
  • 可分辨名称:CN=GTS Root R4、O=Google Trust Services LLC, C=US

请参阅 JDK-8307134 (JDK Bug System)

添加了 Microsoft Corporation root CA 证书

在 Red Hat build of OpenJDK 11.0.20 版本中,cacerts truststore 包括两个 Microsoft Corporation root 证书:

证书 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 Bug System)

添加了 TWCA root CA 证书

在 Red Hat build of OpenJDK 11.0.20 版本中,cacerts truststore 包括 Taiwan 证书颁发机构(TWCA)根证书:

  • 名称 :TWCA
  • 别名名称: twcaglobalrootca
  • 区分名称: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

请参阅 JDK-8305975 (JDK Bug System)