Właściwości systemu Java i zmienne środowiskowe


Odpowiedzi:


148

Myślę, że różnica między tymi dwoma sprowadza się do dostępu. Systemowe zmienne środowiskowe są dostępne dla dowolnego procesu, a właściwości systemowe Java są dostępne tylko dla procesu, do którego zostały dodane.

Również, jak stwierdził Bohemian, zmienne env są ustawiane w systemie operacyjnym (jednak można je ustawić za pomocą Java), a właściwości systemowe są przekazywane jako opcje wiersza poleceń lub przez setProperty().


5
Wreszcie, sposób dodawania zmiennych i zakres zmiennych.
— Praveen Sripati

Należy pamiętać, że inne procesy mogą znaleźć cmd użyte do uruchomienia procesu, stąd też właściwości systemu java.
— Christian

359

42
Absolutnie poprawne, czeskie. Zmienne środowiskowe to „rzecz OS”, a właściwości to „rzecz Java”. Tak się składa, że ​​Java postanowiła ujawnić zmienne systemu operacyjnego jako właściwości (tak jak Java ujawnia bieżący katalog i „inne rzeczy” jako właściwości), ale w rzeczywistości są to różne rzeczy.
— paulsm4

@MarekSebera co masz na myśli?
— Czeski

8
System.grtProperties()wyświetla wszystkie właściwości, a te ustawione z wiersza poleceń będą tam dostępne, ale nie ma sposobu, aby odróżnić je od innych właściwości dodanych przez system, jeśli o to pytasz.
— Czeski

11
Pamiętaj, że możesz także ustawić właściwości systemu za pomocą zmiennej środowiskowej JAVA_TOOL_OPTIONS.
— flacs

6
@KanagaveluSugumar Tak, musisz zrestartować: Ustawienia zmiennych środowiskowych są odczytywane ze środowiska podczas uruchamiania. tzn. System.getenv(String name)nie odczytuje dynamicznie wartości z systemu w czasie połączenia.
— Bohemian
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.