Java 기초 System 클래스
System 클래스는 이름 그대로 시스템을 다루는 클래스로 기본 기능들을 제공하고 있다.
currentTimeMillis() 현재 시간 가져오기 (Millis)
long l = System.currentTimeMillis();
System.out.println("currentTimeMillis = " + l);
currentTimeMillis = 1750143841302
현재 시간 (밀리초) 정보를 가져온다.
nanoMillis() 현재 시간 가져오기 (Nano)
long l = System.nanoTime();
System.out.println("Nanoseconds: " + l);
Nanoseconds: 415779073343400
JVM 시작한 시간을 나노초로 표현한다.
getenv() 환경 변수 불려오기
System.out.println(System.getenv());
{USERDOMAIN_ROAMINGPROFILE=LAPT..., }
운영체제의 환경 변수 정보로 {} 감싸서 출력한다.
System.getProperties() 시스템 속성 읽기
System.out.println(System.getProperties());
{java.specification.version=24, sun.cpu.isalist=amd64, sun.jnu.encoding=MS949, java.class.path=C:\Users\clare\IdeaProjects\hello\out\production\hello, java.vm.vendor=Or...}
자바에서 시스템 설정과 시스템 속성을 확인할 수 있다.
System.out.println(System.getProperty("java.version"));
24.0.1
다음과 같이 키 이름을 입력하여 데이터를 바로 읽을 수 있다.
arraycopy(...) 배열 고속 복사
byte[] aaa = { 'h', 'e', 'l', 'l', 'o' };
byte[] bbb = new byte[5];
System.arraycopy(aaa, 0, bbb, 0, aaa.length);
System.out.println(Arrays.toString(aaa));
System.out.println(Arrays.toString(bbb));
System.out.println(new String(bbb));
[104, 101, 108, 108, 111]
[104, 101, 108, 108, 111]
hello
배열 복사 시 for문을 사용하지만 그것보다 빠른 System 의 배열 복사가 있다.
exit(int status) 프로그램 종료
System.exit(0);
자바 프로그램을 정상 종료로 종료한다.
System - 정리
- System.in
- 표준 입력
- System.out
- 표준 출력
- System.err
- 표준 오류 스트림
- System.currentTimeMillis
- 현재 시간 밀리초로 표시
- System.nanoTime
- 현재 시간 나노초로 표시
- System.getenv
- 시스템 환경 변수 반환
- System.getProperties
- 시스템 속성 및 설정 출력
- System.exit
- 시스템 종료
- System.arraycopy
- 운영체제 레벨로 배열 복사 연산