관리 메뉴

드럼치는 프로그래머

[JAVA] System.currentTimeMills()와 System.nanoTime() 비교 본문

★─Programing/☆─JAVA

[JAVA] System.currentTimeMills()와 System.nanoTime() 비교

드럼치는한동이 2012. 1. 4. 15:40

※ System.currentTimeMills()와 System.nanoTime() 비교

 

● static long currentTimeMills(): 현재의 시간을 ms로 리턴한다.(1/1,000 초)
1970년 1월 1일 부터의 시간을 long 타입으로 리턴해 준다.

상용예)

long cur1 = System.currentTimeMills();
...
long elapsedTime = System.currentTimeMills() - cur1;
System.out.println(elapsedTime + "ms");


● static long nanoTime(): 현재의 시간을 ns로 리턴한다.(1/1,000,000,000 초)
JDK 5.0 부터 추가된 메소드이다. currentTimeMills()메소드는 1ms 이하의 시간을 측정하기가 어려움.
nanoTime()메소드는 수행된 시간 측정이 목적이기 때문에 오늘날짜 알아내는 부분에는 사용하면 안됨.

사용예)

long cur = System.nanoTime();
...
double elapsedTime(System.nanoTime() - cur) / 1000000.0;
System.out.println(elapsedTime + "ms");


♣ JDK 5.0 이상에서는 시간 측정용으로 만들어진 nanoTime() 메소드를 하용하기를 권장한다...

Comments