Quelle est la différence entre les propriétés système System.getProperties () et les variables d'environnement System.getenv () dans une machine virtuelle Java?
java
variables
properties
system
environment
Praveen Sripati
la source
la source
Les propriétés système sont définies sur la ligne de commande Java à l'aide de la
-Dpropertyname=value
syntaxe. Ils peuvent également être ajoutés lors de l'exécution en utilisantSystem.setProperty(String key, String value)
ou via les différentesSystem.getProperties().load()
méthodes.Pour obtenir une propriété système spécifique , vous pouvez utiliser
System.getProperty(String key)
ouSystem.getProperty(String key, String def)
.Les variables d'environnement sont définies dans le système d'exploitation, par exemple sous Linux
export HOME=/Users/myusername
ou sous Windows,SET WINDIR=C:\Windows
etc., et, contrairement aux propriétés, ne peuvent pas être définies lors de l'exécution.Pour obtenir une variable d'environnement spécifique , vous pouvez utiliser
System.getenv(String name)
.la source
System.grtProperties()
répertorie toutes les propriétés, et celles définies à partir de la ligne de commande seront là, mais il n'y a aucun moyen de les distinguer des autres propriétés ajoutées par le système, si c'est ce que vous demandez.JAVA_TOOL_OPTIONS
.System.getenv(String name)
ne lit pas dynamiquement la valeur du système au moment de l'appel.