本文列出了 Microsoft Build of OpenJDK 包版本中包含的修复程序,以及要在上游合并的特定于 Microsoft 的增强功能。
已知问题
OpenJDK 17
- 在 Alpine Linux 3.19.0 或更高版本上运行 Alpine x64 (musl) 版本时,不支持 SecureDirectoryStream。
OpenJDK 11
- 在 Alpine Linux 3.19.0 或更高版本上运行 Alpine x64 (musl) 版本时,不支持 SecureDirectoryStream。
OpenJDK 21
OpenJDK 21.0.7
- releases/jdk-21.0.7
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8350609 的回移植:清理 Windows 上的未知展开操作码(0xB)
- 在 Windows 版本中启用 GPU 选择提示,使用
NvOptimusEnablement
和AmdPowerXpressRequestHighPerformance
- 导出的驱动程序提示首选 JVM 中的高性能 GPU (NVIDIA/AMD)
- 在 Minecraft、IDE 或 ML 工具等环境中非常有用,以确保 GPU 利用率
OpenJDK 21.0.6
- releases/jdk-21.0.6
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8338136 的回移植:HotSpot 应在 Windows 上支持多个大型页面大小
- JDK-8345296:AArch64:当不允许使用 prctl 时,VM 因 SIGILL 崩溃。
- JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
- JDK-8340454:C2 EA 断言,“以前的可减少 Phi 在 SUT 之前不再可减少”
OpenJDK 21.0.5
- releases/jdk-21.0.5
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
增强功能
- 删除了对未记录的 Windows API(NtCreateKeyedEvent、NtReleaseKeyedEvent、NtWaitForKeyedEvent)的调用。
- JDK-8334475 的向后移植:UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) 失败:已设置低位字节。
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.15
- releases/jdk-17.0.15
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8350609 的回移植:清理 Windows 上的未知展开操作码(0xB)
OpenJDK 17.0.14
- releases/jdk-17.0.14
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8338136 的回移植:HotSpot 应在 Windows 上支持多个大型页面大小
- JDK-8345296:AArch64:当不允许使用 prctl 时,VM 因 SIGILL 崩溃。
- JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
- JDK-8340454:C2 EA 断言,“以前的可减少 Phi 在 SUT 之前不再可减少”
OpenJDK 17.0.13
- releases/jdk-17.0.13
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
增强功能
- 删除了对未记录的 Windows API(NtCreateKeyedEvent、NtReleaseKeyedEvent、NtWaitForKeyedEvent)的调用。
OpenJDK 17.0.12
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
- 默认情况下禁用 G1 预防性集合。
OpenJDK 17.0.11
增强功能
包括新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 JDK-8306688),可以通过以下属性启用此功能:
-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.10
增强功能
包括新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 JDK-8306688),可以通过以下属性启用此功能:
-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.9
增强功能
包括新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 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.27
- release/jdk-11.0.27
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- 没有其他增强功能/修复。
OpenJDK 11.0.26
- release/jdk-11.0.26
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
- JDK-8340454:C2 EA 断言,“以前的可减少 Phi 在 SUT 之前不再可减少”
OpenJDK 11.0.25
- release/jdk-11.0.25
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
OpenJDK 11.0.24
增强功能
- 使热点能够使用 Windows 11/Windows Server 2022 及更高版本上的所有 Windows 处理器组中的处理器。
OpenJDK 11.0.23
增强功能
包括新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:
-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 JDK-8306688),可以通过以下属性启用此功能:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
- 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
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 JDK-8306688),可以通过以下属性启用此功能:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
- 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
在 Windows 上添加了对将 SST 文件作为密钥库使用的支持(请参阅 JDK-8306688),可以通过以下属性启用此功能:
-Dsun.security.mscapi.enableSST=true
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
- 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 系统
- JDK 飞行记录器
- 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 系统
- JDK 飞行记录器
- 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 系统
- JFR
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象年龄 - Java Bug 系统
- JDK-8232594 使 JFR 命令的输出持续时间更方便用户 - Java Bug 系统
- JDK-8216041 [事件请求] - 取消优化 - Java Bug 系统
已知问题
- AArch64 的二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.18
增强功能
增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:
-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges
向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JFR
- JDK-8226897 使用 JFR OldObjectSample 事件提供对象年龄 - Java Bug 系统
- JDK-8232594 使 JFR 命令的输出持续时间更方便用户 - Java Bug 系统
- JDK-8216041 [事件请求] - 取消优化 - Java Bug 系统
已知问题
- 二进制文件没有默认 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
增强功能
- 向后移植:JEP 391 macOS/AArch64 端口
- 向后移植:JEP 386 Alpine Linux 端口
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.14
增强功能
- 向后移植:JEP 391 macOS/AArch64 端口
- 向后移植:JEP 386 Alpine Linux 端口
已知问题
- 二进制文件没有默认 CDS (JEP 341) 存档。 运行
java -Xshare:dump
以在安装完成后生成这些文件。
OpenJDK 11.0.13
OpenJDK 11.0.12
增强功能
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- 向后移植了以下增强功能和 bug 修复:
OpenJDK 11.0.11
OpenJDK 11.0.11 中安全修补程序和其他修补程序的列表
增强功能
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
提供有关 Microsoft Build of OpenJDK 的反馈
向我们发送你的评论、想法和意见,帮助我们改进 Microsoft Build of OpenJDK。 请访问 GitHub 上的 OpenJDK 讨论页面 ,向我们发送反馈。
Java 和 OpenJDK 是 Oracle 及其关联公司的商标或注册商标。
其他版本
OpenJDK 16.0.2
增强功能
- JDK-8269392: AArch64 的 Backport:根据模板解释器中的 Windows AArch64 堆栈页面增长要求初始化为局部变量分配的内存
-
JEP 391 的后移植:macOS/AArch64 端口、PR:8253795:JEP 391 的实现:macOS/AArch64 端口,并修复了以下附加 bug:
- JDK-8271576: Arch64 的后移植:修复 MacroAssembler::get_thread 约定
- JDK-8271577:jni_fast_GetLongField中[macos_aarch64] 故障的后移植
- JNF 删除和依赖项修复:在 Mac OS X 上的辅助功能代码中的 JNI 查找失败 getFocusOwner 的移植,[macOS] JNI 查找失败错误:辅助功能操作不适用于 macOS,移除 libsaproc/MacosxDebuggerLocal.m 中对 JNF 的依赖,[macOS] 在辅助功能代码中的数字转换中 JNI 参数错误
- SIGBUS 修复和其他几个:修复 Assembler::macOS_aarch64 中的 SIGBUS 问题在 ld_st2,>,AArch64:重构解释器的本地包装器,在 macOS 上为代码缓存分配页面时使用 MAP_JIT,创建带有 SafeFetch 实现的 stubRoutines.inline.hpp