¿Cuál es la diferencia entre las propiedades del sistema System.getProperties () y las variables de entorno System.getenv () en una JVM?
java
variables
properties
system
environment
Praveen Sripati
fuente
fuente
Las propiedades del sistema se establecen en la línea de comandos de Java utilizando la
-Dpropertyname=value
sintaxis. También se pueden agregar en tiempo de ejecución utilizandoSystem.setProperty(String key, String value)
o mediante los diversosSystem.getProperties().load()
métodos.Para obtener una propiedad específica del sistema , puede usar
System.getProperty(String key)
oSystem.getProperty(String key, String def)
.Las variables de entorno se establecen en el sistema operativo, por ejemplo, en Linux
export HOME=/Users/myusername
o en WindowsSET WINDIR=C:\Windows
, etc., y, a diferencia de las propiedades, no se pueden establecer en tiempo de ejecución.Para obtener una variable de entorno específicaque puede usar
System.getenv(String name)
.fuente
System.grtProperties()
enumera todas las propiedades, y las establecidas desde la línea de comandos estarán allí, pero no hay forma de distinguirlas de las otras propiedades agregadas por el sistema, si eso es lo que está preguntando.JAVA_TOOL_OPTIONS
.System.getenv(String name)
, no lee dinámicamente el valor del sistema en el momento de la llamada.