◈ System 클래스 (java.lang)
◇ 종료
System.exit(0); // 정상종료
System.exit(1) // 비정상종료
System.exit(-1) // 익셉션 발생 비정상 종료
◇ 입출력 멤버(static)
InputStream in : 표준 입력 스트림(키보드)
PrintStream out : 표준 출력 스트림(화면)
PrintStream err : 표준 에러 출력 스트림(화면) - 표준 출력스트림과 사용은 동일하나, err출력시에만 사용
◇ 키보드 입력받기
InputStream은 바이트 단위 스트림이므로, 한글 입력 시 제대로 받기 힘듬. (자바는 기본이 유니코드이기 떄문에 2바이트 단위로 받음) 따라서 바이트 스트림을 문자스트림으로 바꾸는 기능을 하는 InputStreamReader 클래스와 함께 사용. (java.io)
InputStreamReader reader = new InputStreamReader(System.in);
char ch = (char) reader.read();
Line단위 입력 받고자 할 때
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader bReader = new BufferedReader(reader);
String str = bReader.readLine();
◇ gc 메소드
참조가 없어진 객체에 대해서 메모리 공간을 확보하기 위해서 자바에서는 가비지콜렉터가 참조가 없어진 메모리 공간을 알아서 처리하여 메모리 공간을 확보한다. 이 가비지콜렉터의 작동은 JVM에서 알아서 실행하게 되는데, 이러한 JVM 시점을 최대한 빨리 하기 위해서 System.gc(); 메소드를 사용하면, 메소드 호출 후 빠른 시간 내에 가비지콜렉터가 작동하게 된다. 대신 이 메소드를 호출했다고해서 바로 작동을 하는 것은 보장되지 않는다. 단순히 빠른 시간 내에 작동하게 되도록 가비지콜렉터의 우선순위를 높여주는 역할을 하는 것 뿐이다.
◇ 배열 일괄 복사
arrarycopy(Object src, int srcPos, Object dest, int destPos, int length)
◇ 현재 시각 불러오기
주로 어떤 작업의 시작 전과 종료 후에 호출하여 해당 시간 차를 계산하여 프로그램 성능측정에 이용한다.
long time = System.currentTimeMills();
프로그래밍/기타