本文列出了 Microsoft Build of OpenJDK 包版本中包含的修复程序,以及要在上游合并的特定于 Microsoft 的增强功能。
已知问题
OpenJDK 17
- 在 Alpine Linux 3.19.0 或更高版本上运行
muslx64 (Alpine) 版本时,不支持 SecureDirectoryStream。
OpenJDK 11
- 在 Alpine Linux 3.19.0 或更高版本上运行
muslx64 (Alpine) 版本时,不支持 SecureDirectoryStream。
OpenJDK 25
OpenJDK 25.0.1
- releases/jdk-25.0.1
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
| 平台 | 启动 JDK | 工具链 | 工具链版本/详细信息 | C/C++ 编译器版本 | 环境详细信息 |
|---|---|---|---|---|---|
| Linux aarch64 | 25+36-LTS | gcc (GNU 编译器集合) | gcc-11.3.0 - OL7.6 | 11.3.0 | |
| Linux x64 | 25+36-LTS | gcc (GNU 编译器集合) | gcc-11.3.0 - OL6.4 | 11.3.0 | |
| macOS aarch64 | 25+36-LTS | clang (来自 Xcode 15.2 的 clang/LLVM) | Xcode 15.2 | 15.0.0 | |
| macOS x64 | 25+36-LTS | clang (来自 Xcode 14.2 的 clang/LLVM) | Xcode 14.2 | 14.0.0 | |
| Windows x64 | 25+36-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.14.5 | 19.44.35209 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
OpenJDK 25.0.0
- Windows仅适用于 /aarch64: releases/jdk-25.0.0-windows_aarch64
- 所有其他平台: releases/jdk-25.0.0
- 上游修复列表
改进/附加修复
- 开启了在Windows生成中使用
NvOptimusEnablement和AmdPowerXpressRequestHighPerformance的GPU选择提示功能- 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD)
JVM - 在 Minecraft、
IDEs 或 ML 工具等环境中非常有用,以确保 GPU 利用率
- 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD)
- 实现了 JDK-8357445:G1:空闲期间取消提交基于时间的堆
- 添加了对空闲期间自动取消提交未使用的 G1 堆区域的实验性支持,以减少容器化环境和云环境中的内存占用
- 通过
-XX:+UnlockExperimentalVMOptions -XX:+G1UseTimeBasedHeapSizing启用 - 有利于:
- 具有可变工作负荷的容器化应用程序
- 内存使用情况影响计费的云部署
- 需要内存占用优化的应用程序,不会影响
GC暂停时间
- 有关配置详细信息:https://github.com/microsoft/openjdk-workstreams/tree/main/G1-time-based-uncommit
- 添加了 AOTCache MX Bean 和
jcmdAOT.end_training。- 使用新的
jcmdAOT.end_training功能,可以停止训练数据的记录,而无需停止应用程序。 也可以使用新的 AOTCache MXBean 以编程方式实现此效果。 它还允许应用程序确定训练数据的记录是否处于活动状态,以及录制的运行时间
- 使用新的
- 删除了对未记录 Windows API 的调用 (
NtCreateKeyedEvent,NtReleaseKeyedEvent,NtWaitForKeyedEvent) - 修复了 /aarch64 上的 Windows以下问题:
- 崩溃时
JVM缺少核心转储 - 调用堆栈在本机代码崩溃时不可用
- aarch64 寄存器值在 HotSpot 调试器中无法访问
- java/lang/ProcessBuilder/Basic.java 中的测试中的 bug
- 运行时/ErrorHandling/ShowRegistersOnAssertTest.java中的 Bug 测试
- 崩溃时
已知问题
- /aarch64 上的 Windows测试失败(正在进行的调查):
- compiler/c2/aarch64/TestTrampoline.java
- java/foreign/TestBufferStackStress.java
- java/foreign/TestBufferStackStress2.java
- java/net/httpclient/AuthFilterCacheTest.java
- java/net/httpclient/ConcurrentResponses.java
- java/net/httpclient/HttpClientLocalAddrTest.java
- java/net/httpclient/ManyRequests.java
- java/net/httpclient/ManyRequests2.java
- 服务性/jvmti/压力测试/堆栈跟踪/未挂起/获取未挂起堆栈跟踪压力测试.java
- serviceability/jvmti/stress/StackTrace/Suspended/GetStackTraceSuspendedStressTest.java
- tools/jlink/JLink20000Packages.java
- 各种虚拟线程测试
OpenJDK 21
OpenJDK 21.0.9
- releases/jdk-21.0.9
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
| 平台 | 启动 JDK | 工具链 | 工具链版本/详细信息 | C/C++ 编译器版本 | 环境详细信息 |
|---|---|---|---|---|---|
| Linux aarch64 | 21.0.8+9-LTS | gcc (GNU 编译器集合) | gcc-11.3.0 - OL7.6 | 11.3.0 | |
| Linux x64 | 21.0.8+9-LTS | gcc (GNU 编译器集合) | gcc-11.3.0 - OL6.4 | 11.3.0 | |
| macOS aarch64 | 21.0.8+9-LTS | clang (来自 Xcode 15.2 的 clang/LLVM) | Xcode 15.2 | 15.0.0 | |
| macOS x64 | 21.0.8+9-LTS | clang (来自 Xcode 14.2 的 clang/LLVM) | Xcode 14.2 | 14.0.0 | |
| Windows x64 | 21.0.8+9-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.14.5 | 19.44.35209 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
OpenJDK 21.0.8
- releases/jdk-21.0.8
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- 实现了 JDK-8357445:G1:空闲期间取消提交基于时间的堆
- 添加了对空闲期间自动取消提交未使用的 G1 堆区域的实验性支持,以减少容器化环境和云环境中的内存占用
- 通过
-XX:+UnlockExperimentalVMOptions -XX:+G1UseTimeBasedHeapSizing启用 - 有利于:
- 具有可变工作负荷的容器化应用程序
- 内存使用情况影响计费的云部署
- 需要内存占用优化的应用程序,不会影响
GC暂停时间
- 有关配置详细信息:https://github.com/microsoft/openjdk-workstreams/tree/main/G1-time-based-uncommit
OpenJDK 21.0.7
- releases/jdk-21.0.7
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8350609 的反向移植:清理 Windows 上的未知展开操作码 (0xB)
- 开启了在Windows生成中使用
NvOptimusEnablement和AmdPowerXpressRequestHighPerformance的GPU选择提示功能- 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD)
JVM - 在 Minecraft、
IDEs 或 ML 工具等环境中非常有用,以确保 GPU 利用率
- 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD)
OpenJDK 21.0.6
- releases/jdk-21.0.6
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- JDK-8338136 的反向移植:HotSpot 应支持多个大页面尺寸Windows
- JDK-8345296:当不允许使用 prctl 时,AArch64 会因 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
增强功能
- 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组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.17
- releases/jdk-17.0.17
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
| 平台 | 启动 JDK | 工具链 | 工具链版本/详细信息 | C/C++ 编译器版本 | 环境详细信息 |
|---|---|---|---|---|---|
| Alpine x64 | 17.0.16+8-LTS | gcc (GNU 编译器集合) | 12.2.1 | ||
| Linux aarch64 | 17.0.16+8-LTS | gcc (GNU 编译器集合) | 11.3.0 | ||
| Linux x64 | 17.0.16+8-LTS | gcc (GNU 编译器集合) | 11.3.0 | ||
| macOS aarch64 | 17.0.16+8-LTS | clang (来自 Xcode 15.2 的 clang/LLVM) | Xcode 15.2 | 15.0.0 | |
| macOS x64 | 17.0.16+8-LTS | clang (来自 Xcode 13.1 的 clang/LLVM) | Xcode 13.1 | 13.0.0 | |
| Windows aarch64 | 17.0.16+8-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.14.5 | 19.44.35209 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
| Windows x64 | 17.0.16+8-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.14.5 | 19.44.35209 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
OpenJDK 17.0.16
- releases/jdk-17.0.16
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
改进/附加修复
- 实现了 JDK-8357445:G1:空闲期间取消提交基于时间的堆
- 添加了对空闲期间自动取消提交未使用的 G1 堆区域的实验性支持,以减少容器化环境和云环境中的内存占用
- 通过
-XX:+UnlockExperimentalVMOptions -XX:+G1UseTimeBasedHeapSizing启用 - 有利于:
- 具有可变工作负荷的容器化应用程序
- 内存使用情况影响计费的云部署
- 需要内存占用优化的应用程序,不会影响
GC暂停时间
- 有关配置详细信息:https://github.com/microsoft/openjdk-workstreams/tree/main/G1-time-based-uncommit
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:当不允许使用 prctl 时,AArch64 会因 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
增强功能
- 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。
- 默认情况下禁用 G1 预防性集合。
OpenJDK 17.0.11
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges添加了对
SST文件作为 Windows 中的 KeyStores 的支持(请参阅 JDK-8306688),可以通过使用以下属性来启用:-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.10
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges添加了对
SST文件作为 Windows 中的 KeyStores 的支持(请参阅 JDK-8306688),可以通过使用以下属性来启用此功能:-Dsun.security.mscapi.enableSST=true
OpenJDK 17.0.9
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges在 Windows 上添加了对
SST文件作为 KeyStores 的支持(请参阅 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.29
- releases/jdk-11.0.29
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
| 平台 | 启动 JDK | 工具链 | 工具链版本/详细信息 | C/C++ 编译器版本 | 环境详细信息 |
|---|---|---|---|---|---|
| Alpine x64 | 11.0.28+6-LTS | gcc (GNU 编译器集合) | 12.2.1 | ||
| Linux aarch64 | 11.0.28+6-LTS | gcc (GNU 编译器集合) | 11.3.0 | ||
| Linux x64 | 11.0.28+6-LTS | gcc (GNU 编译器集合) | 11.3.0 | ||
| macOS aarch64 | 11.0.28+6-LTS | clang (来自 Xcode 12.5 的 clang/LLVM) | Xcode 12.5 | 12.0.5 | |
| macOS x64 | 11.0.28+6-LTS | clang (来自 Xcode 12.1 的 clang/LLVM) | Xcode 12.1 | 12.0.0 | |
| Windows aarch64 | 11.0.28+6-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.13.6 | 19.43.34810 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
| Windows x64 | 11.0.28+6-LTS | microsoft (Microsoft Visual Studio 2022) | Visual Studio 2022 17.13.6 | 19.43.34810 | cygwin 3.5.7-1.x86_64;win 10.0.20348.4171 |
OpenJDK 11.0.28
- releases/jdk-11.0.28
- 修复列表
- 有关此版本中已修复的漏洞,请参阅 OpenJDK 漏洞公告 。
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 漏洞公告 。
增强功能
- 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。
OpenJDK 11.0.24
增强功能
- 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。
OpenJDK 11.0.23
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges在 Windows 上添加了对
SST文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:-Dsun.security.mscapi.enableSST=true向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
-
JDK-8226897 使用
JFROldObjectSample 事件提供对象年龄 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - JDK-8216041 事件请求取消优化
-
JDK-8216995
JFR命令行清理 - JDK-8217089 延迟安装 os 接口组件以改进启动
-
JDK-8226897 使用
已知问题
- macOS/AArch64 的二进制文件没有默认
CDS(JEP 341)存档。 运行java -Xshare:dump以在安装完成后生成这些文件。
OpenJDK 11.0.22
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges在 Windows 上添加了对
SST文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:-Dsun.security.mscapi.enableSST=true向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
-
JDK-8226897 使用
JFROldObjectSample 事件提供对象年龄 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - JDK-8216041 事件请求取消优化
-
JDK-8216995
JFR命令行清理 - JDK-8217089 延迟安装 os 接口组件以改进启动
-
JDK-8226897 使用
已知问题
- macOS/AArch64 的二进制文件没有默认
CDS(JEP 341)存档。 运行java -Xshare:dump以在安装完成后生成这些文件。
OpenJDK 11.0.21
增强功能
增加了一项新功能(请参阅 JDK-8287061 和 JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下
JVM标志:-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges在 Windows 上添加了对
SST文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:-Dsun.security.mscapi.enableSST=true向后移植了以下增强功能和 bug 修复:
- JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
- JDK 飞行记录器
-
JDK-8226897 使用
JFROldObjectSample 事件提供对象年龄 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - JDK-8216041 事件请求取消优化
-
JDK-8216995
JFR命令行清理 - JDK-8217089 延迟安装 os 接口组件以改进启动
-
JDK-8226897 使用
- 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 使用
JFROldObjectSample 事件提供对象年龄 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - JDK-8216041 事件请求取消优化
-
JDK-8216995
JFR命令行清理 - JDK-8217089 延迟安装 os 接口组件以改进启动
-
JDK-8226897 使用
已知问题
- 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 使用
JFROldObjectSample 事件提供对象年龄 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - JDK-8216041 事件请求取消优化
-
JDK-8216995
JFR命令行清理 - JDK-8217089 延迟安装 os 接口组件以改进启动
-
JDK-8226897 使用
已知问题
- 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 使用
JFROldObjectSample 事件提供对象年龄 - Java Bug 系统 -
JDK-8232594 使命令持续时间的
JFR输出更加用户友好 - Java Bug 系统 - JDK-8216041 [事件请求] - 取消优化 - Java Bug 系统
-
JDK-8226897 使用
已知问题
- 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 使用
JFROldObjectSample 事件提供对象年龄 - Java Bug 系统 -
JDK-8232594 使
JFR命令的持续时间输出更用户友好 - Java Bug 系统 - JDK-8216041 [事件请求] - 取消优化 - Java Bug 系统
-
JDK-8226897 使用
已知问题
- 二进制文件没有默认
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:向后移植 [macos_aarch64] jni_fast_GetLongField 中的故障
-
JNF删除和依赖项修复: macOS X 上辅助功能代码的 Bad JNI 查找 getFocusOwner 的回移, [macOS] 错误的 JNI 查找:辅助操作在 macOS 上不起作用, 从 libsaproc/MacosxDebuggerLocal.m 中删除 JNF 依赖项 和 [macOS] 在辅助功能代码的数字转换中错误的 JNI 参数 - SIGBUS 修复和其他一些修复:向后移植以下项:[macos_aarch64] Assembler::ld_st2 中的 SIGBUS、丢失了 JNFInstanceOf -> IsInstanceOf 转换、AArch64:重构解释器的原生包装器、在 macOS 上为代码缓存分配页面时使用 MAP_JIT、使用 SafeFetch 实现创建 stubRoutines.inline.hpp