我的 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/