问题标签 [shenandoah]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2819 浏览

java - 如何在 MacOS 上为 OpenJDK13 启用 Shenandoah 垃圾收集器

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

0 投票
1 回答
1276 浏览

java - 无法识别的 VM 选项“ShenandoahGCHeuristics=compact”

在 Mac 上,我试图在带有标志的 java 上使用 Shenandoah:

-XX:ShenandoahGCHeuristics=compact and -XX:+UseShenandoahGC

我在 java 13 和 12 上得到了同样的错误:

无法识别的 VM 选项“ShenandoahGCHeuristics=compact”错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将会退出。

和错误:

VM选项初始化时出错 -XX:+UseShenandoahGC not supported

有谁知道这是什么原因或如何解决?

0 投票
2 回答
323 浏览

java - JDK 中 Shenandoah 2.0 的可用性

在 [1, page 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

0 投票
1 回答
169 浏览

java - Shenandoah 垃圾收集器负载参考屏障

Shenandoah对于看过发展的人来说,一个主要的批评是它对每一次写入和读取都使用GC barriers无论是参考还是原始,这并不是什么大秘密。

Shenandoah 2.0声称这不再是问题,并且可以通过所谓的负载参考障碍来解决。这到底是怎么回事?

0 投票
1 回答
113 浏览

java - Shenandoah 2.0 消除转发指针

Shenandoah 1.0每个单独的 Object 中都有一个额外的标题 - 称为forwarding pointer. 为什么需要这样做,导致它被淘汰的原因是什么Shenandoah 2.0

0 投票
1 回答
76 浏览

java - 雪兰多自愈障碍

标题几乎说明了一切——这些自我修复障碍是什么?为什么它们在雪兰多 2.0 中很重要?

0 投票
2 回答
970 浏览

java - 无法使用雪兰多 GC

在尝试运行 Java 应用程序时,我无法让ShenandoahGC工作。无论我尝试什么,当从终端(或 CMD)调用java命令时,输出如下:

虚拟机初始化过程中发生错误

选项 -XX:+UseShenandoahGC 不支持

在 Ubuntu (WSL) 和 Windows 上运行 openJDK 版本 15.0.2,我在两者上都得到了相同的消息。

已尝试在-XX:+UseShenandoahGC旁边应用 -XX:+UnlockExperimentalVMOptions 选项据我所知,JDK 15 放弃了实验状态。

0 投票
0 回答
206 浏览

java - 在 Oracle JDK 16 中使用 Shenandoah GC

我最近在处理 JVM 内存设置时遇到了 Shenandoah GC。尝试在我们的一个应用程序中使用 Oracle jdk 16 版本并得到以下错误-

无法识别的 VM 选项“UseShenandoahGC”错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将会退出。

$ java -version java version "16.0.1" 2021-04-20 Java(TM) SE Runtime Environment (build 16.0.1+9-24) Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9) -24,混合模式,共享)

但我在网上读到,Shenandoah GC 默认使用 jdk 13 及更高版本,并通过使用解锁实验性 vm 选项 JVM 标志使用 jdk 12。

Linux 版本 - NAME="Oracle Linux Server" VERSION="7.4"

也尝试使用 Oracle jdk 版本 1.8.251。我不是 JVM 专家,所以如果我遗漏了什么,请帮助我。这里可能是什么问题?