OpenJDK 11.0.20 发行注记

OpenJDK 11

Red Hat Customer Content Services

摘要

OpenJDK 11.0.20 发行注记 文档概述了 OpenJDK 11 中的新功能以及潜在的已知问题列表和可能的临时解决方案。

前言

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 格式查看文档。

流程

要提供反馈,请执行以下步骤:

  1. 点文档右上角的反馈按钮查看现有的反馈。

    注意

    反馈功能仅在多页 HTML 格式中启用。

  2. 高亮标记您要提供反馈的文档中的部分。
  3. 点在高亮文本旁弹出的 Add Feedback

    文本框将在页面右侧的"反馈"部分中打开。

  4. 在文本框中输入您的反馈,然后点 Submit

    创建了一个与文档相关的问题。

  5. 要查看问题,请单击反馈视图中的问题跟踪器链接。

第 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 作为支持配置。

请参阅 OpenJDK 生命周期和支持政策

第 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-turbolibpnggiflib 用于镜像支持。RHEL 还动态链接 HarfbuzzFreetype 用于字体渲染和管理。
  • 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 证书。

其他资源

第 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

请参阅 JDK-8305975 (JDK Bug System)

第 4 章 与本发行版本相关的公告

以下公告包括了记录程序错误修复和 CVE 修复:

更新于 2023-07-28

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.