Java -Xnoclassgc

问题描述 投票:0回答:2

我有一个关于 java 选项 -XnoclassGC 的问题。它阻止 java 运行 GC。 我猜响应时间可能会更短,因为没有“世界停止的暂停”。但如果您使用并发 GC,它的响应时间足以满足响应时间关键应用程序的需要,所以我已经阅读过。 如果堆不被清理,会不会影响性能? 它只是阻止类的收集吗?

这个选项有什么用?

(我知道你通常不应该使用它,因为你很容易得到 OutOfMemoryError 错误。) [http://www-01.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.zos.70.doc/diag/appendixes/cmdline/Xnoclassgc.html?cp=SSYKE2_7.0.0% 2F5-8-0-3-24&lang=zh]

java garbage-collection
2个回答
2
投票

它禁用 PermGen 中类的 GC。它不会禁用整个 GC。

对于 Java 8,整个事情有点不同,因为 PermGen 不再是 Java 堆的一部分。

经过深入研究,我发现这篇文章用于防止 Java 6 上的长时间暂停,因此我认为它可以在非常特定的情况下使用(例如,程序不断加载和卸载相同的类)。但是,在求助于 -Xnoclassgc 之前,我会从不同的角度开始解决问题。


0
投票

如果你使用-Xnoclassgc,你可以在方便的时候调用

System.gc()

例如,在《我的世界》中,当用户暂停游戏时可以调用

System.gc()
,并且性能在很大程度上无关紧要。

© www.soinside.com 2019 - 2024. All rights reserved.