Was ist der Unterschied zwischen den Systemeigenschaften System.getProperties () und den Umgebungsvariablen System.getenv () in einer JVM?
java
variables
properties
system
environment
Praveen Sripati
quelle
quelle
Systemeigenschaften werden in der Java-Befehlszeile mithilfe der
-Dpropertyname=value
Syntax festgelegt. Sie können auch zur Laufzeit mitSystem.setProperty(String key, String value)
oder über die verschiedenenSystem.getProperties().load()
Methodenhinzugefügtwerden.Um eine bestimmte Systemeigenschaft abzurufen , können Sie
System.getProperty(String key)
oder verwendenSystem.getProperty(String key, String def)
.Umgebungsvariablen werden im Betriebssystem festgelegt, z. B. unter Linux
export HOME=/Users/myusername
oder WindowsSET WINDIR=C:\Windows
usw., und können im Gegensatz zu Eigenschaften möglicherweise nicht zur Laufzeit festgelegt werden.Um eine bestimmte Umgebungsvariable zu erhalten, können Sie verwenden
System.getenv(String name)
.quelle
System.grtProperties()
listet alle Eigenschaften auf, und die über die Befehlszeile festgelegten werden dort sein, aber es gibt keine Möglichkeit, diese von den anderen vom System hinzugefügten Eigenschaften zu unterscheiden, wenn Sie dies wünschen.JAVA_TOOL_OPTIONS
.System.getenv(String name)
liest den Wert zum Zeitpunkt des Aufrufs nicht dynamisch aus dem System.