Microsoft Build of OpenJDK 的发行说明
本文列出了 Microsoft Build of OpenJDK 包版本中包含的修复程序,以及要在上游合并的特定于 Microsoft 的增强功能。
OpenJDK 21
OpenJDK 21.0.4
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
OpenJDK 21.0.3
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
包括一个新的 JFR 事件,用于跟踪编译器队列利用率(JDK-8317562 的向后移植)。
OpenJDK 21.0.2
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
包括一个新的 JFR 事件,用于跟踪编译器队列利用率(JDK-8317562 的向后移植)。
OpenJDK 21.0.1
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
已知问题
- AArch64 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 21.0.0
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
已知问题
- AArch64 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17
OpenJDK 17.0.12
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
- 默认情况下禁用 G1 预防性集合。
OpenJDK 17.0.11
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.10
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.9
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
向后移植 JDK-8303607 SunMSCAPI 提供程序会泄漏内存和密钥
已知问题
- AArch64 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.8
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 现在默认情况下启用此功能。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:-ReduceAllocationMerges
已知问题
- AArch64 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.7
增强功能
增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
已知问题
- AArch64 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.6
增强功能
增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.5
增强功能
增加了一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.4.1
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.4
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.3
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 17.0.2
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。 - RPM 包可能不会自动更新。 运行
yum install msopenjdk-17-17.0.2+8_LTS-1
以强制更新到最新版本。
OpenJDK 17.0.1
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。 - RPM 包可能不会自动更新。 运行
yum install msopenjdk-17-17.0.1+12_LTS-1
以强制更新到最新版本。
OpenJDK 17.0.0
OpenJDK 11
OpenJDK 11.0.24
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
OpenJDK 11.0.23
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JDK Flight Recorder
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限
- JDK-8232594 使 JFR 命令持续时间的输出对用户更友好
- JDK-8216041 事件请求取消优化
- JDK-8216995 清理 JFR 命令行
- JDK-8217089 延迟安装 os 接口组件以改进启动
已知问题
- macOS/AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.22
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JDK Flight Recorder
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限
- JDK-8232594 使 JFR 命令持续时间的输出对用户更友好
- JDK-8216041 事件请求取消优化
- JDK-8216995 清理 JFR 命令行
- JDK-8217089 延迟安装 os 接口组件以改进启动
已知问题
- macOS/AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.21
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
添加了对 SST 文件(作为 Windows 上的 KeyStore)的支持(请参阅 JDK-8306688),可以使用以下属性启用该支持:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JDK Flight Recorder
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限
- JDK-8232594 使 JFR 命令持续时间的输出对用户更友好
- JDK-8216041 事件请求取消优化
- JDK-8216995 清理 JFR 命令行
- JDK-8217089 延迟安装 os 接口组件以改进启动
- JDK-8303607 SunMSCAPI 提供程序会泄漏内存和密钥
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.20.1
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:-ReduceAllocationMerges
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JDK Flight Recorder
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限
- JDK-8232594 使 JFR 命令持续时间的输出对用户更友好
- JDK-8216041 事件请求取消优化
- JDK-8216995 清理 JFR 命令行
- JDK-8217089 延迟安装 os 接口组件以改进启动
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.20
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 现在默认情况下启用此功能。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:-ReduceAllocationMerges
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JDK Flight Recorder
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限
- JDK-8232594 使 JFR 命令持续时间的输出对用户更友好
- JDK-8216041 事件请求取消优化
- JDK-8216995 清理 JFR 命令行
- JDK-8217089 延迟安装 os 接口组件以改进启动
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.19
增强功能
增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JFR
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限 - Java Bug System
- JDK-8232594 使 JFR 命令持续时间的输出更易于使用 - Java Bug System
- JDK-8216041 [事件请求] - 逆向还原 - Java Bug System
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.18
增强功能
增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- JFR
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象期限 - Java Bug System
- JDK-8232594 使 JFR 命令持续时间的输出更易于使用 - Java Bug System
- JDK-8216041 [事件请求] - 逆向还原 - Java Bug System
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.17
增强功能
增加了一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.16.1
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.16
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.15
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.14.1
Microsoft 特定的增强功能
- 向后移植:JEP 391 macOS/AArch64 端口
- 向后移植:JEP 386 Alpine Linux 端口
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.14
Microsoft 特定的增强功能
- 向后移植:JEP 391 macOS/AArch64 端口
- 向后移植:JEP 386 Alpine Linux 端口
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.13
OpenJDK 11.0.12
Microsoft 特定的增强功能
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
- 向后移植了以下增强功能和 bug 修复:
OpenJDK 11.0.11
OpenJDK 11.0.11 中的安全修补程序和其他修补程序列表
Microsoft 特定的增强功能
- JDK-8250902 在 x86 上实现 MD5 内部函数 - Java Bug System
提供有关 Microsoft Build of OpenJDK 的反馈
向我们发送你的评论、想法和意见,帮助我们改进 Microsoft Build of OpenJDK。 请访问 GitHub 上的 OpenJDK 讨论页面,向我们发送反馈。
Java 和 OpenJDK 是 Oracle 和/或其附属机构的商标或注册商标。
其他版本
OpenJDK 16.0.2
Microsoft 特定的增强功能
- JDK-8269392:向后移植 AArch64:根据模板解释器中的 Windows AArch64 堆栈页增长要求初始化分配给局部变量的内存
- 向后移植 JEP 391:macOS/AArch64 端口、PR:8253795:实现 JEP 391:macOS/AArch64 端口,并提供以下附加的 bug 修复:
- JDK-8271576:向后移植 Arch64:修复 MacroAssembler::get_thread 约定
- JDK-8271577:向后移植 [macos_aarch64] jni_fast_GetLongField 中的故障
- JNF 删除和依赖项修复:向后移植以下项:Mac OS X 上的辅助功能代码中的 JNI 查找错误 getFocusOwner、[macOS] JNI 查找错误:辅助操作在 macOS 上不起作用、从 libsaproc/MacosxDebuggerLocal.m 删除 JNF 依赖项和 [macOS] A11Y 代码中数字转换中的 JNI 参数错误
- SIGBUS 修复和其他一些修复:向后移植以下项:[macos_aarch64] Assembler::ld_st2 中的 SIGBUS、丢失了 JNFInstanceOf -> IsInstanceOf 转换、AArch64:重构解释器的原生包装器、在 macOS 上为代码缓存分配页面时使用 MAP_JIT、使用 SafeFetch 实现创建 stubRoutines.inline.hpp