Microsoft Build of OpenJDK 的发行说明

本文列出了 Microsoft Build of OpenJDK 包版本中包含的修复程序,以及要在上游合并的特定于 Microsoft 的增强功能。

已知问题

OpenJDK 17

  • 在 Alpine Linux 3.19.0 或更高版本上运行 musl x64 (Alpine) 版本时,不支持 SecureDirectoryStream。

OpenJDK 11

  • 在 Alpine Linux 3.19.0 或更高版本上运行 musl x64 (Alpine) 版本时,不支持 SecureDirectoryStream。

OpenJDK 25

OpenJDK 25.0.1

平台 启动 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生成中使用NvOptimusEnablementAmdPowerXpressRequestHighPerformance的GPU选择提示功能
    • 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD) JVM
    • 在 Minecraft、 IDEs 或 ML 工具等环境中非常有用,以确保 GPU 利用率
  • 实现了 JDK-8357445:G1:空闲期间取消提交基于时间的堆
    • 添加了对空闲期间自动取消提交未使用的 G1 堆区域的实验性支持,以减少容器化环境和云环境中的内存占用
    • 通过 -XX:+UnlockExperimentalVMOptions -XX:+G1UseTimeBasedHeapSizing 启用
    • 有利于:
      • 具有可变工作负荷的容器化应用程序
      • 内存使用情况影响计费的云部署
      • 需要内存占用优化的应用程序,不会影响 GC 暂停时间
    • 有关配置详细信息:https://github.com/microsoft/openjdk-workstreams/tree/main/G1-time-based-uncommit
  • 添加了 AOTCache MX Bean 和 jcmd AOT.end_training。
    • 使用新的 jcmdAOT.end_training功能,可以停止训练数据的记录,而无需停止应用程序。 也可以使用新的 AOTCache MXBean 以编程方式实现此效果。 它还允许应用程序确定训练数据的记录是否处于活动状态,以及录制的运行时间
  • 删除了对未记录 Windows API 的调用 (NtCreateKeyedEventNtReleaseKeyedEventNtWaitForKeyedEvent
  • 修复了 /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

平台 启动 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

改进/附加修复

  • 实现了 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

改进/附加修复

  • JDK-8350609 的反向移植:清理 Windows 上的未知展开操作码 (0xB)
  • 开启了在Windows生成中使用NvOptimusEnablementAmdPowerXpressRequestHighPerformance的GPU选择提示功能
    • 导出的驱动程序提示首选高性能 GPU (NVIDIA/AMD) JVM
    • 在 Minecraft、 IDEs 或 ML 工具等环境中非常有用,以确保 GPU 利用率

OpenJDK 21.0.6

改进/附加修复

  • JDK-8338136 的反向移植:HotSpot 应支持多个大页面尺寸Windows
  • JDK-8345296:当不允许使用 prctl 时,AArch64 会因 SIGILL 崩溃
  • JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
  • JDK-8340454:C2 EA 中的断言,“以前的可化简 Phi 在 SUT 之前已不再可化简”

OpenJDK 21.0.5

增强功能

  • 删除了对未记录 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-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 包括用于跟踪编译器队列利用率的新 JFR 事件( JDK-8317562 的后移植)。

OpenJDK 21.0.2

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 包括用于跟踪编译器队列利用率的新 JFR 事件( JDK-8317562 的后移植)。

OpenJDK 21.0.1

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

已知问题

  • AArch64 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 21.0.0

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

已知问题

  • AArch64 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17

OpenJDK 17.0.17

平台 启动 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

改进/附加修复

  • 实现了 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

改进/附加修复

  • JDK-8350609 的反向移植:清理 Windows 上的未知展开操作码 (0xB)

OpenJDK 17.0.14

改进/附加修复

  • JDK-8338136 的反向移植:HotSpot 应支持多个大页面尺寸Windows
  • JDK-8345296:当不允许使用 prctl 时,AArch64 会因 SIGILL 崩溃
  • JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
  • JDK-8340454:C2 EA 中的断言,“以前的可化简 Phi 在 SUT 之前已不再可化简”

OpenJDK 17.0.13

增强功能

  • 删除了对未记录 Windows 的 API(NtCreateKeyedEvent、NtReleaseKeyedEvent、NtWaitForKeyedEvent)的调用。

OpenJDK 17.0.12

增强功能

  • 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。
  • 默认情况下禁用 G1 预防性集合。

OpenJDK 17.0.11

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 添加了对 SST 文件作为 Windows 中的 KeyStores 的支持(请参阅 JDK-8306688),可以通过使用以下属性来启用:

    -Dsun.security.mscapi.enableSST=true

OpenJDK 17.0.10

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 添加了对 SST 文件作为 Windows 中的 KeyStores 的支持(请参阅 JDK-8306688),可以通过使用以下属性来启用此功能:

    -Dsun.security.mscapi.enableSST=true

OpenJDK 17.0.9

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 在 Windows 上添加了对 SST 文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:

    -Dsun.security.mscapi.enableSST=true

  • 向后移植 JDK-8303607 SunMSCAPI 提供程序会泄漏内存和密钥

已知问题

  • AArch64 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.8

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 现在默认情况下启用此功能。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:-ReduceAllocationMerges

已知问题

  • AArch64 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.7

增强功能

  • 增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges

已知问题

  • AArch64 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.6

增强功能

  • 增加一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.5

增强功能

  • 增加了一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.4.1

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.4

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.3

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 17.0.2

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。
  • RPM 包可能不会自动更新。 运行 yum install msopenjdk-17-17.0.2+8_LTS-1 以强制更新到最新版本。

OpenJDK 17.0.1

已知问题

  • AArch64 的二进制文件没有默认 CDSJEP 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

平台 启动 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

OpenJDK 11.0.27

改进/附加修复

  • 没有其他增强功能/修复。

OpenJDK 11.0.26

改进/附加修复

  • JDK-8335977 的反向移植:由于断言“对象应已重新分配”而导致取消优化失败
  • JDK-8340454:C2 EA 中的断言,“以前的可化简 Phi 在 SUT 之前已不再可化简”

OpenJDK 11.0.25

增强功能

  • 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。

OpenJDK 11.0.24

增强功能

  • 使热点能够在 11/WindowsServer 2022 及更高版本上跨所有Windows处理器组Windows使用处理器。

OpenJDK 11.0.23

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 在 Windows 上添加了对 SST 文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:

    -Dsun.security.mscapi.enableSST=true

  • 向后移植了以下增强功能和 bug 修复:

    • JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
    • JDK 飞行记录器

已知问题

  • macOS/AArch64 的二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.22

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges

  • 在 Windows 上添加了对 SST 文件作为 KeyStores 的支持(请参阅 JDK-8306688),可以使用以下属性启用该功能:

    -Dsun.security.mscapi.enableSST=true

  • 向后移植了以下增强功能和 bug 修复:

    • JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
    • JDK 飞行记录器

已知问题

  • macOS/AArch64 的二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.21

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-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-8303607 SunMSCAPI 提供程序泄漏内存和密钥

已知问题

  • AArch64 的二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.20.1

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 此功能默认启用。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:-ReduceAllocationMerges

  • 向后移植了以下增强功能和 bug 修复:

    • JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
    • JDK 飞行记录器

已知问题

  • AArch64 的二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.20

增强功能

  • 增加了一项新功能(请参阅 JDK-8287061JDK-8289943),通过增加标量替换的机会数来提高转义分析的性能。 现在默认情况下启用此功能。 若要禁用它,开发人员必须使用以下 JVM 标志:

    -XX:-ReduceAllocationMerges

  • 向后移植了以下增强功能和 bug 修复:

    • JDK-8250902 在 x86 上实现 MD5 内建函数 - Java Bug 系统
    • JDK 飞行记录器

已知问题

  • AArch64 的二进制文件没有默认 CDSJEP 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 的二进制文件没有默认 CDSJEP 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 系统

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.17

增强功能

  • 增加了一项实验性功能,通过增加标量替换的机会来提高转义分析的性能。 若要启用此功能,开发人员必须使用以下 JVM 标志:

    -XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.16.1

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.16

已知问题

  • 二进制文件没有默认 CDSJEP 341)存档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.15

已知问题

  • 二进制文件没有默认 CDSJEP 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 端口的后移植

已知问题

  • 二进制文件没有默认 CDSJEP 341)归档。 运行 java -Xshare:dump 以在安装完成后生成这些文件。

OpenJDK 11.0.13

OpenJDK 11.0.12

增强功能

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

增强功能