OpenJDK 11.0.20 发行注记
摘要
前言
OpenJDK(Open Java Development Kit)是 Java Platform, Standard Edition (Java SE) 的一个开源实现。红帽构建的 OpenJDK 在三个版本中提供:OpenJDK 8u、OpenJDK 11u 和 OpenJDK 17u。
红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对我们文档的反馈。要提供反馈,您可以突出显示文档中的文本并添加注释。
本节介绍如何提交反馈。
先决条件
- 已登陆到红帽客户门户网站。
- 在红帽客户门户中,以多页 HTML 格式查看文档。
流程
要提供反馈,请执行以下步骤:
点文档右上角的反馈按钮查看现有的反馈。
注意反馈功能仅在多页 HTML 格式中启用。
- 高亮标记您要提供反馈的文档中的部分。
点在高亮文本旁弹出的 Add Feedback。
文本框将在页面右侧的"反馈"部分中打开。
在文本框中输入您的反馈,然后点 Submit。
创建了一个与文档相关的问题。
- 要查看问题,请单击反馈视图中的问题跟踪器链接。
第 1 章 OpenJDK 的支持政策
红帽在其产品中支持所选的 OpenJDK 主版本。为了实现一致性,这些版本与 Oracle 为 Oracle JDK 指定的 "LTS" 相同。
自首次引入后,OpenJDK 的主版本会最少在六年内被支持。
在 Microsoft Windows 和 Red Hat Enterprise Linux 上支持 OpenJDK 11,直到 2024 年 10 月为止。
RHEL 6 于 2020 年 11 月结束其生命周期。因此,OpenJDK 不支持 RHEL 6 作为支持配置。
第 2 章 与上游 OpenJDK 11 的不同
Red Hat Enterprise Linux(RHEL)中的 OpenJDK 包含了来自 OpenJDK 上游发行版的许多结构更改。Microsoft Windows 版本尝试尽快遵循 RHEL 更新。
以下列表详细介绍了最显著的 Red Hat OpenJDK 11 更改:
- FIPS 支持。Red Hat OpenJDK 11 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 OpenJDK 11 以在该模式下运行。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
- 加密策略支持。Red Hat OpenJDK 11 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
-
RHEL 上的 Red Hat OpenJDK 会动态链接到原生库,如
zlib用于归档格式支持,libjpeg-turbo、libpng和giflib用于镜像支持。RHEL 还动态链接Harfbuzz和Freetype用于字体渲染和管理。 -
src.zip文件包含 OpenJDK 附带的所有 JAR 库的源。 - RHEL 上的 Red Hat OpenJDK 使用系统范围的时区数据文件作为时区信息的源。
- RHEL 上的 Red Hat OpenJDK 使用系统范围的 CA 证书。
- Microsoft Windows 上的 Red Hat OpenJDK 包括 RHEL 的最新可用时区数据。
- Microsoft Windows 上的 Red Hat OpenJDK 使用 RHEL 的最新可用 CA 证书。
其他资源
- 有关检测系统是否处于 FIPS 模式的更多信息,请参阅 Red Hat RHEL 计划 JIRA 中的增强系统 FIPS 检测示例。
- 有关加密策略的更多信息,请参阅使用系统范围的加密策略。
第 3 章 OpenJDK 功能
最新的 OpenJDK 11 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前 OpenJDK 11 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 11.0.20 发行版本。
OpenJDK 的新功能和增强
查看以下发行注记以了解 OpenJDK 11.0.20 发行版本中包含的新功能和功能增强:
使用 GregorianCalendar.computeTime ()时降低 JVM 崩溃的风险。
在 OpenJDK 11.0.119 中,在使用 GregorianCalendar.computeTime () 方法(JDK-8307683)时,虚拟机崩溃可能会发生。虽然旧问题是此 JVM 崩溃的根本原因,但 C2 编译器(JDK-8297951)中个别问题的最近修复也会显著提高 JVM 崩溃的可能性。为降低风险,OpenJDK 11.0.20 发行版本排除了 C2 编译器的修复。当 JVM 崩溃的根本原因被解决后(JDK-8307683),OpenJDK 将重新引入 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 标准现在是 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)证书
在 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 证书
在 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 证书
在 OpenJDK 11.0.20 发行版本中,cacerts truststore 包括 Taiwan 证书颁发机构(TWCA)根证书:
- 名称 :TWCA
- 别名名称: twcaglobalrootca
- 区分名称: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
第 4 章 与本发行版本相关的公告
以下公告包括了记录程序错误修复和 CVE 修复:
更新于 2023-07-28