Qual é a diferença entre as propriedades do sistema System.getProperties () e as variáveis de ambiente System.getenv () em uma JVM?
java
variables
properties
system
environment
Praveen Sripati
fonte
fonte
As propriedades do sistema são configuradas na linha de comandos Java usando a
-Dpropertyname=value
sintaxe. Eles também podem ser adicionados em tempo de execução usandoSystem.setProperty(String key, String value)
ou através dos váriosSystem.getProperties().load()
métodos.Para obter uma propriedade específica do sistema, você pode usar
System.getProperty(String key)
ouSystem.getProperty(String key, String def)
.As variáveis de ambiente são definidas no sistema operacional, por exemplo, no Linux
export HOME=/Users/myusername
ou no WindowsSET WINDIR=C:\Windows
, etc. e, diferentemente das propriedades, podem não ser definidas no tempo de execução.Para obter uma variável de ambiente específica , você pode usar
System.getenv(String name)
.fonte
System.grtProperties()
lista todas as propriedades, e as definidas na linha de comando estarão lá, mas não há como distinguir aquelas das outras propriedades adicionadas pelo sistema, se é isso que você está perguntando.JAVA_TOOL_OPTIONS
.System.getenv(String name)
é, não lê dinamicamente o valor do sistema no momento da chamada.