В чем разница между аргументами программы и аргументами виртуальной машины? - PullRequest
24 голосов
/ 22 апреля 2011

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

Ответы [ 5 ]

29 голосов
/ 22 апреля 2011

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

 public static void main(String[] args)

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

1 голос
/ 10 февраля 2018

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]);
        }

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

Из Eclipse:

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

 java -cp projectJar-2.0-SNAPSHOT-jar-with-dependencies.jar com.first.jobs.IndexJob testing -DsysProp1=testing
1 голос
/ 22 апреля 2011

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

public static void main(String[] args) // here
1 голос
/ 22 апреля 2011

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

0 голосов
/ 13 декабря 2017
  • Программные аргументы - аргументы, которые мы обычно передаем в нашу программу. Доступ к параметрам этого типа можно получить с помощью массива String «args» в методе main.
  • Аргументы VM - аргументы, которые передаются в интерпретатор Java.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...