How to get VM arguments from inside of Java application?

okutane picture okutane · Sep 29, 2009 · Viewed 161.4k times · Source

I need to check if some option that can be passed to JVM is explicitly set or has its default value.

To be more specific: I need to create one specific thread with higher native stack size than the default one, but in case the user wants to take care of such things by himself by specifying the -Xss option I want to create all threads with default stack size (which will be specified by user in -Xss option).

I've checked classes like java.lang.System and java.lang.Runtime, but these aren't giving me any useful information about VM arguments.

Is there any way to get the information I need?

Answer

Java_Freak picture Java_Freak · Nov 22, 2010

At startup pass this -Dname=value

and then in your code you should use

value=System.getProperty("name");

to get that value