Какая разница между аргументами программы и аргументами VM?

Я нашел, только когда я поместил -Dcontext=web в аргументы VM, значение можно прочитать методом System.getproperty. Мне интересно, какая разница между этими двумя?

Ответы

Ответ 1

Аргументы программы - это аргументы, переданные вашей программе и доступные в массиве args вашего основного метода

 public static void main(String[] args)

Аргументы VM передаются на виртуальную машину и предназначены для указания виртуальной машине сделать что-то. Вы можете делать такие вещи, как контроль размера кучи и т.д. Их можно получить в вашей программе по вызову System.getProperty(), как вы описали.

Ответ 2

Аргументы программы доступны через args [] вашего основного метода (String args [])

Ответ 3

Программные аргументы переходят в метод main():

public static void main(String[] args) // here

Ответ 4

  • Программные аргументы - аргументы, которые мы обычно передаем в нашу программу. Доступ к этим параметрам можно получить с помощью массива String args в основном методе.
  • Аргументы VM - аргументы, передаваемые в интерпретатор Java.

Ответ 5

enter image description here

Программный аргумент: Программные аргументы - это аргументы, которые передаются вашему приложению и доступны через строковый параметр массива args вашего основного метода.

Аргумент VM: Аргументы VM - это аргумент среды или системы, который необходим JVM для выполнения программы. Аргументы VM считываются из системного свойства, как показано ниже в инструкции Java.

System.getProperty(sysProp1)

Фрагмент кода:

public static void main(String[] args) {
            String sysProp1 = "sysProp1";
            System.out.println("\t System Propery Name:" + sysProp1 + ", Value:" + System.getProperty(sysProp1));
            System.out.println("\t Program Variable Test Propery Name:" + args[0]);
        }

Есть два способа передачи этих двух значений параметров.

Из Затмения:

Аргумент командной строки:

 java -cp projectJar-2.0-SNAPSHOT-jar-with-dependencies.jar com.first.jobs.IndexJob testing -DsysProp1=testing