1. ホーム
  2. java

[解決済み] Javaアプリケーションの内部からVMの引数を取得する方法は?

2022-04-21 18:38:35

質問

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

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

のようなクラスを確認しました。 java.lang.Systemjava.lang.Runtime しかし、これらはVMの引数に関する有益な情報を与えてくれません。

何か必要な情報を得る方法はないでしょうか?

解決方法は?

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

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();