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
    • 운영체제 레벨로 배열 복사 연산