Red Hat build of OpenJDK 11.0.16 发行注记
前言
Open Java Development Kit (OpenJDK)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。红帽构建的 OpenJDK 在三个版本中提供:8u、11u 和 17u。
红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。
提供有关红帽构建的 OpenJDK 文档的反馈
要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。
流程
- 单击以下链接 以创建 ticket。
- 在 Summary 中输入问题的简短描述。
- 在 Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
- 点 Submit 创建问题,并将问题路由到适当的文档团队。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
第 1 章 红帽构建的 OpenJDK 支持政策
红帽在其产品中支持选择版本的 OpenJDK 的主版本。为实现一致性,这些版本与 Oracle JDK 的长期支持(LTS)指定的版本相同。
自首次引入该版本起,红帽构建的 OpenJDK 主版本将最少提供六年的支持。如需更多信息,请参阅 OpenJDK 生命周期和支持政策
RHEL 6 于 2020 年 11 月结束其生命周期。因此,红帽构建的 OpenJDK 不支持 RHEL 6 作为支持的配置。
第 2 章 与上游 OpenJDK 11 的不同
Red Hat 在 Red Hat Enterprise Linux (RHEL)中构建 OpenJDK 包含了来自 OpenJDK 上游发行版的许多结构更改。红帽构建的 Microsoft Windows 版本尝试尽快遵循 RHEL 更新。
以下列表详细介绍了 OpenJDK 11 最显著的红帽构建变化:
- FIPS 支持。Red Hat build of OpenJDK 11 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置红帽构建的 OpenJDK 11 以在该模式下运行。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
- 加密策略支持。红帽构建的 OpenJDK 11 从 RHEL 获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
-
RHEL 上的红帽构建的 OpenJDK 会动态链接到原生库,如
zlib
用于归档格式支持,libjpeg-turbo
、libpng
和giflib
用于镜像支持。RHEL 还动态链接Harfbuzz
和Freetype
用于字体渲染和管理。 -
src.zip
文件包含红帽构建的 OpenJDK 附带的所有 JAR 库的源。 - RHEL 上的红帽 OpenJDK 构建使用系统范围的时区数据文件作为时区信息的来源。
- RHEL 上的红帽构建的 OpenJDK 使用系统范围的 CA 证书。
- Microsoft Windows 上的红帽构建的 OpenJDK 包括 RHEL 的最新可用时区数据。
- Microsoft Windows 上的红帽构建的 OpenJDK 使用 RHEL 的最新可用 CA 证书。
其他资源
- 有关检测系统是否处于 FIPS 模式的更多信息,请参阅 Red Hat RHEL 计划 JIRA 中的增强系统 FIPS 检测示例。
- 有关加密策略的更多信息,请参阅使用系统范围的加密策略。
第 3 章 Red Hat build of OpenJDK 11.0.16.1 发行注记
查看以下发行注记,了解红帽构建的 OpenJDK 11.0.16.1 补丁版本的变化概述:
修复了 C2 JIT 编译器的问题
红帽构建的 OpenJDK 11.0.16.1 发行版本修复了 C2 Just-In-Time (JIT)编译器的回归问题,这会导致 HotSpot JVM 意外崩溃。
请参阅 JDK-8292396 (JDK Bug System)
与 Red Hat build of OpenJDK 11.0.16.1 相关的公告
以下公告已针对这个版本中包含的程序错误修复和 CVE 修复进行了发布:
第 4 章 Red Hat build of OpenJDK 功能
最新的 Red Hat build of OpenJDK 11 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 11 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 11.0.16 发行版本。
4.1. 红帽构建的 OpenJDK 新功能及改进
查看以下发行注记以了解红帽构建的 OpenJDK 11.0.16 发行版本中包含的新功能和功能增强:
Vector 会在缺少元素类时抛出 ClassNotFoundException
当向量的类找不到时,java.util.Vector
现在可以正确地报告在使用 java.io.ObjectInputStream.GetField.get (name, object)
进行序列化过程中出现的 ClassNotFoundException
。在以前的版本中,会显示 StreamCorruptedException
错误,它没有提供有关缺失类的任何信息。
请参阅 JDK-8277157 (JDK Bug System)
Java Generic Security Services (GSS)或 Kerberos 的 HTTPS 频道绑定支持
当 Negotiate 通过 javax.net.HttpsURLConnection
中选择 Kerberos 身份验证时,红帽构建的 OpenJDK 11.0.16 发行版本支持 TLS 频道绑定令牌。
频道绑定令牌通过缓解一些中间人(MITM)攻击来提高安全性。当服务器收到有关 TLS 服务器证书和客户端的身份验证凭据绑定的详细信息时,服务器会检测 MITM 攻击是否已对客户端进行 fooled,并可以关闭连接。
该功能通过 jdk.https.negotiate.cbt
系统属性进行控制,该属性在 Oracle 文档 中已完全描述。
请参阅 JDK-8285240 (JDK Bug System)
在 ProcessBuilder
中处理带引号参数的处理错误
在红帽构建的 OpenJDK 11.0.16 版本之前,在 Windows 上对 ProcessBuilder
的参数以双引号标记开头,然后以反斜杠结尾,然后是传递给命令的双引号标记,从而导致命令失败。例如,参数 "C:\\Program Files\"
"被处理为末尾具有额外的双引号标记。
红帽构建的 OpenJDK 11.0.16 发行版本通过恢复之前可用的行为来解决这个问题,其中反斜杠(\)前的反斜杠(\)不会被特殊处理。
请参阅 JDK-8283137 (JDK Bug System)
当遇到 IOException
时默认 JDK 压缩器关闭
已修改 DeflaterOutputStream.close ()
和 GZIPOutputStream.finish ()
方法,以便在传播可浏览堆栈前关闭相关的默认 JDK 压缩程序。已修改
ZIPOutputStream.closeEntry ()
方法,以便在传播 IOException
之前关闭关联的默认 JDK 压缩程序,而不是键入 ZipException
, up 堆栈。
请参阅 JDK-8278386 (JDK Bug System)
在 java.io.File
中禁用 Windows Alternate Data Stream 支持的新系统属性
java.io.File
的 Windows 实现默认允许访问 NTFS Alternate Data Streams (ADS)。这些流以 filename:streamname
格式构建。红帽构建的 OpenJDK 11.0.16 发行版本添加了一个系统属性,允许您在 java.io.File
中禁用 ADS 支持。要在 java.io.File
中禁用 ADS 支持,请将 jdk.io.File.enableADS
系统属性设置为 false
。
禁用 java.io.File
中的 ADS 支持会导致更严格的路径检查,以防止使用 NUL:
等特殊设备。
请参阅 JDK-8285660 (JDK Bug System)
更新于 2024-05-10