System 클래스는 시스템과 관련된 기본 기능들을 제공합니다.
import java.util.Arrays;
public class SystemMain {
public static void main(String[] args) {
// 현재 시간(밀리초)를 가져온다.
long currentTimeMills = System.currentTimeMillis();
System.out.println("currentTimeMills = " + currentTimeMills);
// 현재 시간(나노초)를 가져온다.
long currentTimeNano = System.nanoTime();
System.out.println("currentTimeNano = " + currentTimeNano);
// 환경 변수를 읽는다.
System.out.println("getenv = " + System.getenv());
// 시스템 속성을 읽는다.
System.out.println("properties = " + System.getProperties());
System.out.println("Java version: " + System.getProperty("java.version"));
// 배열에 고속으로 복사한다.
char[] originalArray = new char[]{'h','e','l','l','o'};
char[] copiedArray = new char[5];
System.arraycopy(originalArray, 0, copiedArray, 0, originalArray.length);
// 배열 출력
System.out.println("copiedArray = " + copiedArray);
System.out.println("copiedArray = " + Arrays.toString(copiedArray));
// 프로그램 종료
System.exit(0);
}
}
- 표준 입력, 출력, 오류 스트림: System.in, System.out, System.err은 각각 표준 입력, 표준 출력, 표준 오류 스트림을 나타낸다.
- 시간 측정: System.currentTimeMills( ) 와 System.nanoTime( )은 현재 시간을 밀리초 또는 나노초 단위로 제공한다.
- 환경 변수: System.getenv( ) 메서드를 사용해서 OS에서 설정한 환경 변수의 값을 얻을 수 있다.
- 시스템 속성: System.getProperties( )를 사용해 현재 시스템 속성을 얻거나 System.getProperty(String key) 로 특정 속성을 얻을 수 있다. 시스템 속성은 자바에서 사용하는 설정 값이다.
- 시스템 종료: System.exit(int status) 메서드는 프로그램을 종료하고, OS에 프로그램 종료의 상태 코드를 전달한다.
- 상태 코드 0: 정상 종료
- 상태 코드0 이 아님: 오류나 예외적인 종료
- 배열 고속 복사: System.arraycopy는 시스템 레벨에서 최적화된 메모리 복사 연산을 사용한다. 직접 반복문을 사용해서 배열을 복사할 때 보다 수 배 이상 빠른 성능을 제공한다.
'Java' 카테고리의 다른 글
[Java] 타입 안전 열거형 패턴 (Type-Safe-Enum Pattern) (0) | 2024.04.11 |
---|---|
[Java] Math, Random 클래스 (0) | 2024.04.11 |
[Java] Class 클래스?? (0) | 2024.04.05 |
[Java] Wrapper class (0) | 2024.04.05 |
[Java] 가변 String (1) | 2024.04.04 |