176

JVM に渡すことができるいくつかのオプションが明示的に設定されているか、またはデフォルト値を持っているかどうかを確認する必要があります。

より具体的には、デフォルトよりもネイティブスタックサイズが大きい特定のスレッドを1つ作成する必要がありますが、-Xssオプションを指定してユーザーが自分でそのようなことを処理したい場合は、デフォルトのスタックサイズですべてのスレッドを作成したい(これは、-Xss オプションでユーザーが指定します)。

java.lang.Systemや などのクラスをチェックしましjava.lang.Runtimeたが、これらは VM 引数に関する有益な情報を提供してくれません。

必要な情報を取得する方法はありますか?

4

5 に答える 5

226

起動時にこれを渡します-Dname=value

そして、コードで使用する必要があります

value=System.getProperty("name");

その値を取得するには

于 2010-11-22T15:34:25.643 に答える
204

このコードを使用すると、JVM 引数を取得できます。

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
于 2009-10-07T14:32:15.057 に答える
3

特に VM 設定を取得しようとしたことはありませんが、JMX ユーティリティ、特に MXBean ユーティリティには豊富な情報があります。これが私が始めるところです。うまくいけば、あなたを助ける何かがそこに見つかります。

Sun の Web サイトには、この技術に関する情報がたくさんあります。

http://java.sun.com/javase/6/docs/technotes/guides/management/mxbeans.html

于 2009-10-02T03:02:41.027 に答える