Java System.getProperty와 System.getenv의 차이점은 무엇입니까?

Java System Getpropertywa System Getenvui Chaijeom Eun Mueos Ibnikka



System.getProperty() ” 메서드는 Java 런타임 또는 시스템 구성에 해당하는 특정 시스템 속성을 검색합니다. 실행 중인 시스템의 운영 체제 및 Java 환경에 대한 정보를 제공합니다. 한편, “ System.getenv() ” 메서드는 OS 환경에 정의된 특정 환경 변수에 액세스합니다. 여기에는 시스템 및 현재 사용자 세션에 대한 동적 정보가 포함됩니다.

이 블로그에서는 Java System.getProperty()와 System.getenv() 메서드의 차이점을 설명합니다.

Java에서 System.getProperty() 메서드란 무엇입니까?

System.getProperty() ” 메서드는 제공된 시스템 속성과 연결된 값을 반환합니다. '로 구성되어 있습니다. 핵심 가치 ” 쌍 형식으로, 시스템 관리자 또는 구성 파일에서 정의됩니다. 이 속성은 ' -디 ” 플래그 또는 속성을 찾을 수 없는 경우 “ 없는 '가 반환됩니다. 기본 또는 대부분 사용되는 시스템 속성은 해당 설명과 함께 여기에 설명되어 있습니다. 링크 .







시스템 속성 중 일부는 아래 코드 스니펫에서 사용됩니다.



시스템 속성 중 일부는 아래 코드 스니펫에서 사용됩니다.



수업 부모의 {
//드라이버 메소드 초기화
공공의 공전 무효의 기본 ( [ ] 인수 ) {
사용자 이름 = 체계. getProperty ( '사용자 이름' ) ;
체계. 밖으로 . 프린트 ( '시스템 속성을 사용하는 사용자 이름: ' + 사용자 이름 ) ;

클래스 경로 = 체계. getProperty ( '자바.클래스.경로' ) ;
체계. 밖으로 . 프린트 ( '루트 디렉터리의 현재 클래스 경로: ' + 클래스 경로 ) ;

체계. 밖으로 . 프린트 ( '잘못된 속성이 사용됨: ' + 체계. getProperty ( '집' ) ) ;

체계. 밖으로 . 프린트 ( 'JRE 버전 정보: ' + 체계. getProperty ( '자바.런타임.버전' ) ) ;
체계. 밖으로 . 프린트 ( '현재 시스템 OS의 아키텍처: ' + 체계. getProperty ( 'os.arch' ) ) ;
}
}

위 코드에 대한 설명:





  • 첫째, 시스템의 실제 소유자 또는 사용자는 ' 사용자 이름 ' 속성 ' System.getProperty() ' 방법.
  • 다음으로 부동산 ' 자바.클래스.경로 '로 전달됩니다. System.getProperty() ” 메서드를 사용하여 루트 디렉터리에서 현재 클래스의 경로를 검색합니다.
  • 그런 다음 '의 허위 속성 '가 통과되고,
  • System.getProperty() ” 방법이 표시됩니다 “ 없는 ” 속성이 존재하지 않음을 나타냅니다.
  • 같은 방식으로 ' Java 런타임 버전 및 시스템 아키텍처는 '를 전달하여 검색됩니다. 자바.런타임.버전 ' 그리고 ' os.arch ', 각각.

출력에는 'System.getProperty()' 메서드의 도움으로 검색된 시스템 속성에 대한 필수 값이 표시됩니다.



Java의 System.getenv() 메서드는 무엇입니까?

System.getenv() ” 메서드는 지정된 환경 변수에 해당하는 값을 반환합니다. 반환된 값은 동적이며 시스템 운영 체제 또는 현재 세션에 대한 사용자에 의해 설정됩니다. 'System.getProperty()' 메서드와 마찬가지로 변수를 찾을 수 없거나 값이 없는 경우 ' 없는 '가 반환됩니다.

예를 들어 아래 코드를 방문하십시오.

수업 루트클래스 {
//드라이버 메소드 초기화
공공의 공전 무효의 기본 ( [ ] 인수 ) {
체계. 밖으로 . 프린트 ( 'System.getenv() 메서드를 사용한 값 검색' ) ;

임시 경로 = 체계. 텐브 ( '온도' ) ;
체계. 밖으로 . 프린트 ( '임시 파일 폴더의 경로:' + 임시 경로 ) ;

운영 체제 = 체계. 텐브 ( 'NUMBER_OF_PROCESSORS' ) ;
체계. 밖으로 . 프린트 ( '시스템에 포함된 프로세서 수:' + 운영 체제 ) ;

windows디렉토리 = 체계. 텐브 ( '윈디르' ) ;
체계. 밖으로 . 프린트 ( '시스템 루트 경로 표시 - ' + windows디렉토리 ) ;
}
}

위 코드 블록에 대한 설명:

  • 먼저 '라는 이름으로 클래스를 생성합니다. 루트 클래스 ' 그리고 ' System.getenv() ” 메서드는 “를 전달하여 임시 폴더의 경로를 반환하는 데 사용됩니다. 온도 ” 값으로.
  • 다음으로 '를 전달하여 시스템의 프로세서 수와 Windows 디렉토리를 검색합니다. NUMBER_OF_PROCESSORS ' 그리고 ' 윈디르 ”를 각각 “System.getenv()” 메서드에 추가합니다.

컴파일 후:

출력은 필수 환경 변수 값이 검색되었음을 확인합니다.

Java System.getProperty와 System.getenv의 차이점

System.getProperty() 및 System.getenv() 메서드 간의 차이점은 아래 표에 설명되어 있습니다.

용어 System.getProperty() System.getenv()
목적 JVM에 특정한 시스템 속성을 검색하는 데 사용됩니다. 운영 체제 환경에 특정한 환경 변수를 검색하는 데 사용됩니다.
원천 시스템 속성은 일반적으로 명령줄 인수로 설정됩니다. 환경 변수는 OS 환경에서 설정됩니다.
입장 시스템 속성과 환경 변수를 모두 검색할 수 있습니다. 환경 변수만 검색할 수 있으며 변수에 대한 특정 키가 필요합니다.
용법 일반적으로 Java 버전과 같은 JVM에 대한 정보를 검색하는 데 사용됩니다. 일반적으로 환경별 구성 또는 중요한 정보에 액세스하는 데 사용됩니다.
휴대성 플랫폼 독립적이며 다양한 운영 체제에서 일관되게 액세스할 수 있습니다. 변수는 운영 체제마다 다를 수 있으며 동작이 다를 수 있습니다.

결론

System.getProperty() ” 메서드는 Java 관련 속성 및 시스템 구성에 액세스할 수 있습니다. “ System.getenv() ”는 운영 체제에 정의된 환경 변수에 액세스합니다. 그러나 둘 다 시스템 관련 정보를 반환하는 데 적합합니다. 또한 시스템 환경에 대한 정보를 검색하는 유사한 목적을 가지고 있지만 서로 다른 데이터 세트에서 작동합니다.