2 ответов:
Я думаю, что разница между этими двумя сводится к доступу. Системные переменные среды доступны для любого процесса, а системные свойства Java доступны только для процесса, в который они добавлены.
также, как указано в Bohemian, переменные env устанавливаются в ОС (однако они "могут" быть установлены через Java), а системные свойства передаются как параметры командной строки или устанавливаются через
setProperty().
свойства системы задаются в командной строке Java с помощью
-Dpropertyname=valueсинтаксис. Они также могут быть добавлены во время выполнения используяSystem.setProperty(String key, String value)или через различныеSystem.getProperties().load()методы.
Чтобы получить конкретный системное свойство можно использоватьSystem.getProperty(String key)илиSystem.getProperty(String key, String def).переменные среды задаются в ОС, например, в Linux
export HOME=/Users/myusernameили на WindowsSET WINDIR=C:\Windowsи т. д, и, в отличие от свойств, может не устанавливается во время выполнения.
Чтобы получить конкретный переменные среды можно использоватьSystem.getenv(String name).
Comments