3.2. OpenJDK 的改进
Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。
OpenJDK 对 Microsoft Windows 版本进行标识
在红帽构建的 OpenJDK 17 版本前,从 System.getProperty () 检索的 os.name 系统属性,HotSpot 错误日志会在 Microsoft Windows 11 和 Windows Server 2022 上报告 Windows 10.0 on Microsoft Windows 11 和 Windows Server 2019。红帽构建的 OpenJDK 现在标识了这些系统上的正确版本。
系统属性行为更改
红帽构建的 OpenJDK 17 将 file.encoding 系统属性的行为恢复到与大多数支持的平台上的红帽构建的 OpenJDK 11 相同的状态,但 macOS 除外。这个变化改进了系统属性在 Microsoft Windows 平台上的行为方式,系统区域设置和用户区域设置有所不同。
有关对 file.encoding 系统属性的行为更改的更多信息,请参阅 JDK-8275343。
向量类更新
Red Hat build of OpenJDK 17 更新 java.util.Vector 类,因此此类现在会在 deserialization 过程中报告使用 java.io.ObjectInputStream.GetField.get (name, object) 方法生成的任何 ClassNotFoundException 信息。当向量的类(嵌套在元素内)时,这些异常消息不会被找到。
在 java.util.Vector 类更新之前,当之前详细事件发生时,类会报告任何 StreamCorruptedException 信息。StreamCorruptedException 消息没有提供有关缺失类的信息。
有关 java.util.Vector 类的更新的更多信息,请参阅 JDK-8277157。
z Garbage Collector 程序错误修复
在红帽构建的 OpenJDK 17 更新前,ZGC 经历了 Concurrent Process Non-strong References times,这会导致使用 ZGC 进行内存管理的 Java 应用程序的延迟和吞吐量问题。您可以通过在命令行界面中输入 -Xlog:gc*,针对垃圾收集器(GC)日志来确定这些长度的时间。
Red Hat build of OpenJDK 17 发行版本删除了造成这些问题的错误,因此 ZGC 现在可以获得较短的 Concurrent Process Non-strong References 时间。
有关 ZGC 程序错误修复的更多信息,请参阅 JDK-8277533。