자바

JAVA 자바 System 클래스 현재 시각 읽기 currentTimeMiles() , nanoTime() /// 시스템 프로퍼티 읽기 getProperty()

알통몬_ 2017. 3. 14. 13:32
반응형

현재 시각 읽기 currentTimeMiles() , nanoTime()

컴퓨터 시계로부터 현재시간을 읽어서 

currentTimeMiles() : 밀리세컨드(1/1000초)단위 long 값 리턴

 nanoTime() : 나노세컨드(1/1000000000초)단위 long 값 리턴


long time = System.currentTimeMiles();

long time2 = System.nanoTime();


주로 프로그램의 실행 소요 시간 측정에 사용됩니다. 

프로그램 시작 시 시각을 읽고 

프로그램이 끝날 때 시각을 읽어서 차이를 구하면 프로그램 실행 송 시간이 나옵니다.

예제)

public class TimeExample {

public static void main(String[] args) {

long time1 = System.nanoTime();

int sum = 0;

for(int i=1; i<=1000000; i++) {

sum += i;

}

long time2 = System.nanoTime();

System.out.println("1~1000000까지의 합: " + sum);

System.out.println("계산에 " + (time2-time1) + " 나노초가 소요되었습니다.");

}

 

}


시스템 프로퍼티 읽기 getProperty()

JVM이 시작할 때 자동 설정되는 시스템의 속성값을 말합니다. 

예를 들어 운영체제의 종류 및 자바 프로그램을 실행시킨 

사용자 아이디, JVM의 버전, 운영체제에서 사용되는 파일 경로 구분자 등이 여기에 속합니다. 

시스템 프로퍼티는 키와 값으로 구성되어 있습니다. 


대표적인 키와 값에 대한 설명

키(Key)               설명                                          값

java.version      자바의 버전                                      1.8.0_20

java.home       사용하는 JRE의 파일 경로                       <jdk 설치경로>\jre

os.name         Operating System name                        Windows 7

file.separator    File separator("/" on UNIX)                     \

user.name       사용자의 이름                                    사용자계정

user.home       사용자의 홈 디렉토리                            C:\Users\사용자계정

user.dir           사용자가 현재 작업중인 디렉토리 경로         다양하다.


시스템 프로퍼티를 읽어오기 위해서는 System.getProperty() 메서드를 이용하면 되는데, 

이 메서드는 시스템 프로퍼티의 키 이름을 매개값으로 받고, 해당 키에 대한 값을 문자열로 리턴합니다.

String value = System.getProperty(String key);


사용예제

import java.util.Properties;

import java.util.Set;


public class GetPropertyExample {

public static void main(String[] args) {

String osName = System.getProperty("os.name");

String userName = System.getProperty("user.name");   // 개별 속성 읽기

String userHome = System.getProperty("user.home");

System.out.println("운영체제 이름: " + osName);

System.out.println("사용자 이름: " + userName);

System.out.println("사용자 홈디렉토리: " + userHome);

System.out.println("---------------------------------");

System.out.println(" [ key ]  value");

System.out.println("---------------------------------");

Properties props = System.getProperties(); // 모든 속성의 키와 값을 출력

Set keys = props.keySet();

for(Object objKey : keys) {

String key = (String) objKey;

String value = System.getProperty(key);

System.out.println("[ " + key + " ]  " + value);

}


}

 

}

굉장히 많은 정보가 출력됩니다.

반응형