간단한 테스트 코드를 작성하고 JAVA의 시간 업데이트 단위를 테스트해 보니 currentTimeMillis의 업데이트 주기가 15~16ms 정도여서 정확도가 15ms~16ms에 불과한 것으로 나타났습니다. nanoTime의 업데이트 주기는 약 800~1200ns이므로 800ns 미만의 시간은 측정할 수 없습니다. 코드는 다음과 같습니다:
공개 클래스 JavaTimeWinTest
{
공개 정적 무효 메인(문자열[] 인수)
{
msTest();
ns테스트();
}
개인 정적 무효 msTest()
{
정수 크기 = 6000000;
long[]번 = 새로운 long[크기];
for(int k = 0;k <크기;k++)
{
times[k] = System.currentTimeMillis();
}
긴 preTime = 회[0];
for(int k = 1;k <크기;k++)
{
if(times[k]>preTime)
{
System.out.print("ms 현재 값:" + times[k]);
System.out.println("변경된 값:" + (times[k]-preTime));
preTime = 회[k];
}
}
}
개인 정적 무효 nsTest()
{
정수 크기 = 50;
long[]번 = 새로운 long[크기];
for(int k = 0;k <크기;k++)
{
times[k] = System.nanoTime();
}
긴 preTime = 회[0];
for(int k = 1;k <크기;k++)
{
if(times[k]>preTime)
{
System.out.print("ns 현재 값:" + times[k]);
System.out.println("변경된 값:" + (times[k]-preTime));
preTime = 회[k];
}
}
}
}
코드 실행 결과는 다음과 같습니다.
ms 현재 값: 1262223891000 변경 값: 16
ms 현재 값: 1262223891015 변경 값: 15
ms 현재 값: 1262223891031 변경 값: 16
ms 현재 값: 1262223891046 변경 값: 15
ms 현재 값: 1262223891062 변경 값: 16
ms 현재 값: 1262223891078 변경 값: 16
ms 현재 값: 1262223891093 변경 값: 15
ms 현재 값: 1262223891109 변경 값: 16
ms 현재 값: 1262223891125 변경 값: 16
ms 현재 값: 1262223891140 변경 값: 15
ms 현재 값: 1262223891156 변경 값: 16
ms 현재 값: 1262223891171 변경 값: 15
ms 현재 값: 1262223891187 변경 값: 16
ms 현재 값: 1262223891203 변경 값: 16
ms 현재 값: 1262223891218 변경 값: 15
ms 현재 값: 1262223891234 변경 값: 16
ms 현재 값: 1262223891250 변경 값: 16
ms 현재 값: 1262223891265 변경 값: 15
ms 현재 값: 1262223891281 변경 값: 16
ms 현재 값: 1262223891296 변경 값: 15
ns 현재 값: 4634097766894 변경 값: 3631
ns 현재 값: 4634097768012 변경 값: 1118
ns 현재 값: 4634097769129 변경 값: 1117
ns 현재 값: 4634097769967 변경 값: 838
ns 현재 값: 4634097771085 변경 값: 1118
ns 현재 값: 4634097771923 변경 값: 838
ns 현재 값: 4634097773040 변경 값: 1117
ns 현재 값: 4634097773879 변경 값: 839
ns 현재 값: 4634097774996 변경 값: 1117
ns 현재 값: 4634097775834 변경 값: 838
ns 현재 값: 4634097776952 변경 값: 1118
ns 현재 값: 4634097777790 변경 값: 838
ns 현재 값: 4634097778907 변경 값: 1117
ns 현재 값: 4634097780025 변경 값: 1118
ns 현재 값: 4634097780863 변경 값: 838
ns 현재 값: 4634097781980 변경 값: 1117
ns 현재 값: 4634097782818 변경 값: 838
ns 현재 값: 4634097783936 변경 값: 1118
ns 현재 값: 4634097784774 변경 값: 838
ns 현재 값: 4634097785891 변경 값: 1117
ns 현재 값: 4634097786729 변경 값: 838
ns 현재 값: 4634097787847 변경 값: 1118
ns 현재 값: 4634097788685 변경 값: 838
ns 현재 값: 4634097789802 변경 값: 1117
ns 현재 값: 4634097790920 변경 값: 1118
ns 현재 값: 4634097791758 변경 값: 838
ns 현재 값: 4634097792875 변경 값: 1117
ns 현재 값: 4634097793714 변경 값: 839
ns 현재 값: 4634097794831 변경 값: 1117
ns 현재 값: 4634097795669 변경 값: 838
ns 현재 값: 4634097796787 변경 값: 1118
ns 현재 값: 4634097797625 변경 값: 838
ns 현재 값: 4634097798742 변경 값: 1117
ns 현재 값: 4634097799580 변경 값: 838
ns 현재 값: 4634097800698 변경 값: 1118
ns 현재 값: 4634097801815 변경 값: 1117
ns 현재 값: 4634097802653 변경 값: 838
ns 현재 값: 4634097803771 변경 값: 1118
ns 현재 값: 4634097804609 변경 값: 838
ns 현재 값: 4634097805726 변경 값: 1117
ns 현재 값: 4634097806564 변경 값: 838
ns 현재 값: 4634097807682 변경 값: 1118
ns 현재 값: 4634097808520 변경 값: 838
ns 현재 값: 4634097809637 변경 값: 1117
ns 현재 값: 4634097810475 변경 값: 838
ns 현재 값: 4634097811593 변경 값: 1118
ns 현재 값: 4634097812431 변경 값: 838
ns 현재 값: 4634097813548 변경 값: 1117
ns 현재 값: 4634097814666 변경 값: 1118
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/chuan122345/archive/2009/12/31/5110727.aspx