第 4 章 Red Hat build of OpenJDK 功能
最新的 Red Hat build of OpenJDK 17 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 17 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 17.0.8 发行版本。
Red Hat build of OpenJDK 的改进
Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。
使用 GregorianCalendar.computeTime ()
时降低 JVM 崩溃的风险。
在 Red Hat build of OpenJDK 17.0.7 中,在使用 GregorianCalendar.computeTime ()
方法(JDK-8307683)方法时,虚拟机崩溃可能会发生。虽然旧问题是此 JVM 崩溃的根本原因,但 C2 编译器(JDK-8297951)中个别问题的最近修复也会显著提高 JVM 崩溃的可能性。为降低风险,红帽构建的 OpenJDK 17.0.8 发行版本排除了 C2 编译器的修复。当 JVM 崩溃的根本原因被解决(JDK-8307683)后,OpenJDK 的 Red Hat build 将重新引入 C2 编译器的修复(JDK-8297951)。
请参阅 JDK-8308884 (JDK Bug System)。
支持 GB18030-2022
中国电池标准研究所(CESI)最近发布了 GB18030-2022,作为对 GB18030 标准的更新,与 Unicode 11.0 同步字符集。GB18030-2022 标准现在是 Red Hat build of OpenJDK 17.0.8 使用的默认 GB18030 字符集。但是,与之前使用红帽构建的 OpenJDK 17 版本相比,这个更新的字符集包含与 GB18030-2000 相比不兼容的更改。从红帽构建的 OpenJDK 17.0.8 开始,如果要使用之前的字符集版本,请确保将新系统属性 jdk.charset.GB18030
设置为 2000
。
请参阅 JDK-8301119 (JDK Bug System)。
增强的 ZIP 性能
Red Hat build of OpenJDK 17.0.8 发行版本包括对 .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.
添加了 GTS root 证书颁发机构(CA)证书
在 Red Hat build of OpenJDK 17.0.8 版本中,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 17.0.8 版本中,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 17.0.8 版本中,cacerts
truststore 包括 Taiwan 证书颁发机构(TWCA)根证书:
- 名称 :TWCA
- 别名名称: twcaglobalrootca
- 区分名称: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
请参阅 JDK-8305975 (JDK Bug System)。
新的 JFR 事件 jdk.SecurityProviderService
调用 java.security.Provider.getService (String type, String algorithm)
方法现在触发一个新的 JFR 事件 jdk.SecurityProviderService
。
jdk.SecurityProviderService
事件包含以下三个字段:
- type :服务的类型
- algorithm :算法名称
- Provider: 安全供应商
jdk.SecurityProviderService
事件默认为禁用。您可以使用标准 JFR 配置文件和选项启用此事件。