Shenandoah 2.0 在 JDK 中的可用性

Availability of Shenandoah 2.0 in JDK

在 [1,第 16 页] 中,Aleksey Shipilёv 说 Shenandoah 2.0 在 JDK 13 GA 中可用。但是在Complete JDK 13 Release Notes [2](包括JDK 13 GA, JDK 13.0.1 GA, JDK 13.0.2 GA)中,并没有提到Shenandoah .

问题: Shenandoah 2.0 在JDK GA 中的当前状态如何?它是否在 JDK 13 GA 中可用,或者,如果没有,它计划用于哪个版本?

[1] https://shipilev.net/talks/jugbb-Sep2019-shenandoah.pdf

[2] https://www.oracle.com/technetwork/java/javase/13all-relnotes-5461743.html

Oracle does not support it,尝试下载Oracle JDK并启用它:-XX:+UseShenandoahGC,它不会工作;不过,如果您获得 AdoptOpenJDK,它会的。

著名的 Oracle does not ship Shenandoah in either their proprietary Oracle JDK downstream, or their OpenJDK builds. For that matter, Oracle does not list any Shenandoah-related release notes for their builds -- that is the link you have. You want JDK 13 from any other OpenJDK vendor and look into their release notes. Automatically-generated release notes for the vanilla OpenJDK 13u can be seen here,由我自己生成 -- hotspot/gc 部分中有大量 Shenandoah 的 RN。

"Shenandoah 2.0" 确实从 JDK 13 开始发货,它也被反向移植到 Red Hat 11u 和 8u 下游,分别为 11.0.5+ 和 8u242+。最近做了proposal to contribute it to 11u上游

在 Shenandoah wiki 的 relevant section 中查看更多详细信息。