Propiedades del sistema Java y variables de entorno.

Resuelto Praveen Sripati asked hace 13 años • 2 respuestas

¿Cuál es la diferencia entre las propiedades del sistema System.getProperties() y las variables de entorno System.getenv() en una JVM?

Praveen Sripati avatar Aug 14 '11 11:08 Praveen Sripati
Aceptado
  • Las propiedades del sistema se configuran en la línea de comandos de Java mediante la-Dpropertyname=valuesintaxis. También se pueden agregar en tiempo de ejecución utilizandoSystem.setProperty(String key, String value)o mediante varios System.getProperties().load()métodos.
    Para obtener una propiedad específica del sistema, puede utilizarSystem.getProperty(String key)oSystem.getProperty(String key, String def).

  • Las variables de entorno se configuran en el sistema operativo, por ejemplo, en Linuxexport HOME=/Users/myusernameo WindowsSET WINDIR=C:\Windows, etc. y, a diferencia de las propiedades, no se pueden configurar en tiempo de ejecución.
    Para obtener una variable de entorno específica , puede utilizarSystem.getenv(String name).

Bohemian avatar Aug 14 '2011 04:08 Bohemian

Creo que la diferencia entre los dos se reduce al acceso. Las variables de entorno son accesibles mediante cualquier proceso y las propiedades del sistema Java solo son accesibles mediante el proceso al que se agregan.

Además, como dijo Bohemian, las variables env se configuran en el sistema operativo (sin embargo, "pueden" configurarse a través de Java) y las propiedades del sistema se pasan como opciones de línea de comando o se configuran mediante setProperty().

Jake Dempsey avatar Aug 14 '2011 04:08 Jake Dempsey