본문 바로가기
Work/Java

[Java] System 클래스 -정리

JAVA.LANG 패키지에 포함되어있는 클래스

System 클래스 (매우 중요)

운영체제 시스템과 관련된 기능을 제공하는 클래스로, 모든 멤버가 기본 static이기 때문에 별도의 인스턴스 객체를 생성할 필요가 없다.  표준 입출력 관리와, 환경 변수 접근, 시스템 속성 , 현재 ms / ns 시각 확인 , 객체 복사 등에 사용된다.

 

1. 입출력

		System.out.println("개행문자를 포함하는 출력문");
		System.out.print("개행문자가 포함되지않은 단순 출력문 \n");
		System.out.printf("C언어에서의 printf와 같이 기본자료형에 대한 지정이 필요한 출력문 %d",10);​


print : 괄호안 내용을 단순히 출력. 개행문자(=줄바꿈문자=\n) 포함안됨.
printf : C에서의 printf와 동일. %d, %s 등을 쓰기위해 사용. 개행문자 포함X
println : 괄호안 내용을 출력한 후 마지막에 개행문자가 포함되어 있어 출력후 한 줄 띄워짐.


2. 환경변수 접근

System.getenv("JAVA_HOME")​

실행되는 환경에 "JAVA_HOME" 이라는 환경변수값을 출력

 

3. 시스템 속성

// 자주 사용하는 유용한 속성
String keys[] = {"java.version","java.home","os.name","file.separator","file.encoding","user.name","user.home","user.dir"};
for(String s : keys)
	System.out.println(s.toUpperCase()+"\t : "+System.getProperty(s));

// 그 외에 모든 Property들
Properties props = System.getProperties();
Set keys2 = props.keySet(); 
for (Object s : keys2 ) 			
	System.out.println(s.toString().toUpperCase()+"\t\t : "+System.getProperty(s.toString()));

속성값의 전체 출력은 너무길어서, 자주 사용하는 부분까지만 캡처하였습니다.

 

4. 현재 ms / ns 시각

		System.out.println(System.currentTimeMillis()); // 현재 ms 시간
		System.out.println(System.nanoTime()); 		// 현재 ns 시간

 

5. 객체 복사

		int a[] = {1,2,3,4};
		int b[] = a.clone();	// 객체 복사

 

6. 그 외에

		System.gc();	// JVM 실행 요청	

		System.exit(0);	// 프로그램 종료