JVM에서 시스템 특성 System.getProperties () 와 환경 변수 System.getenv () 의 차이점은 무엇입니까 ?
답변
나는 두 종점의 차이점이 접근 할 것이라고 생각합니다. 시스템 환경 변수는 모든 프로세스에서 액세스 할 수 있으며 Java 시스템 특성은 추가 된 프로세스에서만 액세스 할 수 있습니다.
또한 Bohemian이 언급했듯이 env 변수는 OS에서 설정되지만 (Java를 통해 ‘설정 가능’) 시스템 특성은 명령 행 옵션으로 전달되거나를 통해 설정됩니다 setProperty()
.
답변
-
시스템 특성 은
-Dpropertyname=value
구문을사용하여 Java 명령 행에서 설정됩니다. 또한 런타임시System.setProperty(String key, String value)
다양한System.getProperties().load()
방법을사용하거나 다양한
방법으로 추가 할 수 있습니다.
특정 시스템 속성 을 얻으려면System.getProperty(String key)
또는을 사용할 수 있습니다System.getProperty(String key, String def)
. -
환경 변수 는 OS, 예를 들어 Linux
export HOME=/Users/myusername
또는 WindowsSET WINDIR=C:\Windows
등에서설정되며속성과 달리런타임에 설정 되지 않을 수 있습니다.
특정 환경 변수 를 얻으려면을 사용할 수 있습니다System.getenv(String name)
.