第 3 章 Red Hat build of OpenJDK 8.0.352 发行注记


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

注意

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

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

查看以下发行注记以了解 Red Hat build of OpenJDK 8.0.352 发行版本提供了新功能和功能增强:

引用对象更改和配置

从红帽构建的 OpenJDK 8.0.352 开始,您无法克隆 Reference 对象。

如果您试图克隆引用对象,java.lang.ref.Reference::clone 方法会抛出 CloneNotSupportedException 信息。

如果要复制现有的 Reference 对象,则必须使用适当的 Reference 子类的构造器来创建 Reference 对象。这样可确保新的 Reference 对象包含与 target Reference 对象相同的引用和引用队列。

对于红帽构建的 OpenJDK 8.0.352 发行版本,java.lang.ref.Reference.enqueue 方法更改了行为。当应用程序代码调用 java.lang.ref.Reference.enqueue 方法时,此方法会在将对象添加到注册队列前清除引用。Reference 对象被排队后,需要 java.lang.ref.Reference.get () 返回值的代码可能会抛出 NullPointerException

红帽构建的 OpenJDK 8.0.352 发行版本更改了 PhantomReference 对象的行为,以便在任何关联队列中排队前清除它们。这与 SoftReferenceWeakReference 对象的现有行为相同。

links

为客户端角色启用 TLSv1.3

默认情况下,红帽构建的 OpenJDK 8.0.352 为客户端角色启用 TLSv1.3 协议支持。

在红帽构建的 OpenJDK 8.0.272 版本中,对服务器角色的 TLSv1.3 协议支持已经启用。

如果您在红帽构建的 OpenJDK 8.0.352 中创建 TLS 客户端角色,同时保留默认的协议设置,并且与 TLSv1.3 建立的连接中使用 TLSv1.3,则兼容性问题可能会影响您的应用程序。以下列表详细介绍了常见兼容性问题:

  • TLSv1.3 使用半双工-close 策略,而 TLSv1.2 使用 full-duplex-close 策略。您可以使用 jdk.tls.acknowledgeCloseNotify 系统属性将 TLSv1.3 配置为使用全双工策略。有关此配置的更多信息,请参阅 JDK-8208526
  • TLSv1.3 不支持 signature_algorithms_cert 扩展中的某些算法。例如,如果您只允许在配置中签名验证的数字签名算法(DSA),在使用 TLSv1.3 协议时您将遇到不兼容的问题。
  • 使用 DSA 证书进行客户端身份验证的客户端会导致与 TLSv1.3 的兼容性问题。
  • TLSv1.3 包含与早期 TLS 协议版本不同的密码套件。对于带有硬编码的、不支持的密码套件的应用程序,可能会出现兼容性问题。
  • TLSV1.3 会话恢复和密钥更新行为与早期的 TLS 协议版本不同。依赖于这些协议的握手详情的应用程序可能会遇到兼容性问题。

如果您需要禁用对客户端角色的 TLSv1.3 协议支持,请完成以下操作之一:

  • 获取带有 SSLContext.getInstance ("TLSv1.2") 的 TLSv1.2 上下文。
  • jdk.tls.client.protocols 系统属性设为 TLSv1.2。例如,-Djdk.tls.client.protocols="TLSv1.2"
  • 为红帽构建的 OpenJDK javax.net.ssl API 设置早期 TLS 协议,如下例所示:
sslSocket.setEnabledProtocols(new String[] {"TLSv1.2"});
sslEngine.setEnabledProtocols(new String[] {"TLSv1.2"});
SSLParameters params = sslSocket.getSSLParameters();
params.setProtocols(new String[] {"TLSv1.2"});
slsSocket.setSSLParameters(params);

links

jdk.httpserver.maxConnections system property

红帽构建的 OpenJDK 8.0.352 添加了一个新的系统属性 jdk.httpserver.maxConnections,它会修复为 HttpServer 服务指定的连接限制,这可能会导致接受的连接和建立的连接无限期保持打开。

您可以使用 jdk.httpserver.maxConnections 系统属性以以下方式更改 HttpServer 服务的行为:

  • 设置 0 或负值(如 -1 )来为该服务指定连接限制。
  • 设置一个正值,如 1,使服务能够根据当前已建立的连接数检查任何接受的连接。如果达到该服务的最大已建立连接数,服务会立即关闭接受的连接。

支持 Microsoft Visual Studio 2017

从红帽构建的 OpenJDK 8.0.352 版本开始,Windows JDK 和 JRE 1.8.0 版本使用 Visual Studio 2017 工具链编译,因为 Microsoft 目前支持此链。

注意

红帽客户门户网站不再使用 Alternative toolchain 标签来标记使用 Visual Studio 2017 工具链编译的二进制文件。

对于依赖 Microsoft Visual Studio 2010 工具链进行编译二进制文件(红帽标签为 旧工具链 )的客户,红帽将继续支持这些二进制文件。在 Software Details 页面中,在红帽客户门户网站中,带有此工具链编译的文件在其文件名中包含 vs10 条目。例如,openjdk-1.8.0.345/java-1.8.0-openjdk-1.8.0.352-2.b08.redhat.windows.vs10.x86_64.zip

重要

Microsoft 不再支持 Visual Studio 2010 工具链,因此红帽只能提供对与此链相关的任何产品的有限支持。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部