我如何知道为Sun JVM启用了哪些默认设置?

我想在我的JVM上尝试CompressedOops。 不,我想知道它是否可以默认启用。 我在debian / squeeze上运行这个jvm:

$ java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode) 

有人说它默认启用,有人说它不是:

来自: http : //forums.yourkit.com/viewtopic.php?f = 3&t = 3185

是的,你是对的,我也检查了它,并且在646位Java6u21中默认没有激活Compressed Oops,我不明白为什么它在我提供的链接中这么说。

我尝试用jconsole / JMX检查它,但没有运气找到名为CompressedOops或类似的属性。

有没有人知道我在哪里获得具有默认值的特定构建的所有jvm选项的列表?

关于Janning

您可以使用-XX:+PrintFlagsFinal运行以在JVM启动时打印所有标志的值。

或者,您可以使用jinfo工具检查正在运行的JVM中的标志值:

 > jinfo -flag UseCompressedOops 7364 -XX:+UseCompressedOops 

使用jps查找进程的pid。