Ответ 1
В приведенном ниже коде должны отображаться все параметры JVM, аргументы, переданные основному методу, а также имя основного класса.
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.List;
public static void main(String[] args) {
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
List<String> jvmArgs = bean.getInputArguments();
for (int i = 0; i < jvmArgs.size(); i++) {
System.out.println( jvmArgs.get( i ) );
}
System.out.println(" -classpath " + System.getProperty("java.class.path"));
// print the non-JVM command line arguments
// print name of the main class with its arguments, like org.ClassName param1 param2
System.out.println(" " + System.getProperty("sun.java.command"));
}
javadoc для getInputArguments
Возвращает входные аргументы, переданные виртуальной машине Java, которая не содержит аргументов основного метода. Этот метод возвращает пустой список, если нет входных аргументов виртуального Java-приложения машина.
Некоторые реализации виртуальной машины Java могут принимать входные аргументы из нескольких разных источников: например, аргументы, переданные из приложение, которое запускает виртуальную машину Java, такую как команда "java", переменные среды, файлы конфигурации и т.д.
Как правило, не все параметры командной строки для команды "java" передается на виртуальную машину Java. Таким образом, возвращаемые входные аргументы может не включать все параметры командной строки.
Вы также можете взглянуть на: jps
Это программа Java, которая может получить полную командную строку для всех Процессы Java, включая полное имя класса основного класса и JVM варианты.
Вы можете найти хорошее резюме различных инструментов JVM, включая Java Application Launcher ссылки на:
-
ManagementFactory.getRuntimeMXBean(
) - возвращает управляемую bean для среды выполнения виртуальной машины Java. -
getInputArguments()
javadoc - определить, работает ли JVM в режиме отладки