我的 Mac 上有最新的 (13.0.1) OpenJDK,但它似乎不包括 Shenandoah。我疯了吗?我知道发货了它适用于我的 Linux 机器。有不同的下载吗?不同的标志?

~ $ java -XX:+UnlockExperimentalVMOptions -XX:+PrintCommandLineFlags -version
 -XX:G1ConcRefinementThreads=4 -XX:GCDrainStackTargetSize=64 -XX:InitialHeapSize=134217728
 -XX:MaxHeapSize=2147483648 -XX:MinHeapSize=6815736 -XX:+PrintCommandLineFlags
 -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UnlockExperimentalVMOptions
 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment (build 13.0.1+9)
OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
~ $ java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+PrintCommandLineFlags -version
Error occurred during initialization of VM
Option -XX:+UseShenandoahGC not supported

最佳答案

我认为 this Red Hat blog post 可能是相关的,特别是考虑到 Shenandoah 在你的 Linux 机器上而不是 macOS 上工作。

TL;DR:Red Hat 领导了 Shenandoah 的开发,因此 Oracle 对将其放入 OpenJDK 犹豫不决。因此,并非所有构建都支持它。

关于java - 如何在 MacOS 上为 OpenJDK13 启用 Shenandoah 垃圾收集器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59462343/

10-10 02:30