写了个简单的测试代码,测试了JAVA的时间更新单元,发现currentTimeMillis的更新周期大约是15或16ms,所以精度也就在15ms-16ms,低于15ms的时间是无法测量出来的。而nanoTime的更新周期大约在800-1200纳秒左右,因此低于 800ns的时间无法测量出来。代码如下:
public class JavaTimeWinTest
{
public static void main(String[] args)
{
msTest();
nsTest();
}
private static void msTest()
{
int size = 6000000;
long[] times = new long[size];
for(int k = 0 ;k <size;k++)
{
times[k] = System.currentTimeMillis();
}
long preTime = times[0] ;
for(int k = 1 ;k <size;k++)
{
if(times[k]>preTime)
{
System.out.print("ms 当前值:" + times[k]);
System.out.println(" 变化值:" + (times[k]-preTime));
preTime = times[k];
}
}
}
private static void nsTest()
{
int size = 50;
long[] times = new long[size];
for(int k = 0 ;k <size;k++)
{
times[k] = System.nanoTime();
}
long preTime = times[0] ;
for(int k = 1 ;k <size;k++)
{
if(times[k]>preTime)
{
System.out.print("ns 当前值:" + times[k]);
System.out.println(" 变化值:" + (times[k]-preTime));
preTime = times[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