相关疑难解决方法(0)

如何从java应用程序内部获取vm参数?

我需要检查是否可以传递给JVM的某个选项是显式设置还是具有默认值.

更具体一点:
我需要创建一个具有比默认堆栈大更高的本机堆栈大小的特定线程,但是如果用户希望通过指定-Xss选项来自己处理这些事情,我想创建具有默认堆栈大小的所有线程(这将由用户在-Xss选项中指定).

我检查类,如java.lang.Systemjava.lang.Runtime,但这些都没有给我有关的信息-Xss.

有没有办法获得我需要的信息?

java jvm jvm-arguments

152
推荐指数
3
解决办法
14万
查看次数

我如何知道为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)
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

关于Janning

java jvm jvm-hotspot

29
推荐指数
1
解决办法
2万
查看次数

通过复制目录安装JRE会影响类数据共享(CDS)吗?

通过Oracle JRE安装程序安装JRE时,安装程​​序会创建一个共享存档,以启用类数据共享(CDS),从而减少JRE进程的启动时间和内存占用.

问题

如果我们的安装程序通过复制JRE目录来安装JRE,那么我们是否会丢失类数据共享?

如果是这样,可以通过java -Xshare:dump从我们自己的安装程序重新生成共享存档(使用)来解决吗?

Java代码中是否有一种机制来检测类数据共享是否处于活动状态?

我们的安装包括一个共享存档(例如,jre/bin/client/classes.jsa),它可能是在我们使用Oracle安装程序安装Java的原始机器上创建的.这有用,无害还是有害?

细节

我们正在使用Java 7.至少在某些机器上,我们使用的是HotSpot客户端VM.

相关问题

"Java代码是保存在本地编译的类数据共享存档(classes.jsa)中还是字节码?" - 接受的答案说原生,但似乎有点猜测.

java installer jvm

5
推荐指数
1
解决办法
818
查看次数

获取运行 JVM 的 GC 设置

有没有办法获取正在运行的 JVM 的 GC 设置?

我正在尝试查看运行 SerialGC、ParallelGC、ParallelOldGC、ConcurrentMarkSweepGC 等的 GC 算法。

java garbage-collection

2
推荐指数
1
解决办法
1204
查看次数