I wrote a simple test code and tested the time update unit of JAVA. I found that the update cycle of currentTimeMillis is about 15 or 16ms, so the accuracy is only 15ms-16ms. Time lower than 15ms cannot be measured. The update cycle of nanoTime is about 800-1200 nanoseconds, so times lower than 800ns cannot be measured. The code is as follows:
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 current value:" + times[k]);
System.out.println("Change value:" + (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 current value:" + times[k]);
System.out.println("Change value:" + (times[k]-preTime));
preTime = times[k];
}
}
}
}
The output of running the code is as follows:
ms current value: 1262223891000 change value: 16
ms current value: 1262223891015 change value: 15
ms current value: 1262223891031 change value: 16
ms current value: 1262223891046 change value: 15
ms current value: 1262223891062 change value: 16
ms current value: 1262223891078 change value: 16
ms current value: 1262223891093 change value: 15
ms current value: 1262223891109 change value: 16
ms current value: 1262223891125 change value: 16
ms current value: 1262223891140 change value: 15
ms current value: 1262223891156 change value: 16
ms current value: 1262223891171 change value: 15
ms current value: 1262223891187 change value: 16
ms current value: 1262223891203 change value: 16
ms current value: 1262223891218 change value: 15
ms current value: 1262223891234 change value: 16
ms current value: 1262223891250 change value: 16
ms current value: 1262223891265 change value: 15
ms current value: 1262223891281 change value: 16
ms current value: 1262223891296 change value: 15
ns current value: 4634097766894 change value: 3631
ns current value: 4634097768012 change value: 1118
ns current value: 4634097769129 change value: 1117
ns current value: 4634097769967 change value: 838
ns current value: 4634097771085 change value: 1118
ns current value: 4634097771923 change value: 838
ns current value: 4634097773040 change value: 1117
ns current value: 4634097773879 change value: 839
ns current value: 4634097774996 change value: 1117
ns current value: 4634097775834 change value: 838
ns current value: 4634097776952 change value: 1118
ns current value: 4634097777790 change value: 838
ns current value: 4634097778907 change value: 1117
ns current value: 4634097780025 change value: 1118
ns current value: 4634097780863 change value: 838
ns current value: 4634097781980 change value: 1117
ns current value: 4634097782818 change value: 838
ns current value: 4634097783936 change value: 1118
ns current value: 4634097784774 change value: 838
ns current value: 4634097785891 change value: 1117
ns current value: 4634097786729 change value: 838
ns current value: 4634097787847 change value: 1118
ns current value: 4634097788685 change value: 838
ns current value: 4634097789802 change value: 1117
ns current value: 4634097790920 change value: 1118
ns current value: 4634097791758 change value: 838
ns current value: 4634097792875 change value: 1117
ns current value: 4634097793714 change value: 839
ns current value: 4634097794831 change value: 1117
ns current value: 4634097795669 change value: 838
ns current value: 4634097796787 change value: 1118
ns current value: 4634097797625 change value: 838
ns current value: 4634097798742 change value: 1117
ns current value: 4634097799580 change value: 838
ns current value: 4634097800698 change value: 1118
ns current value: 4634097801815 change value: 1117
ns current value: 4634097802653 change value: 838
ns current value: 4634097803771 change value: 1118
ns current value: 4634097804609 change value: 838
ns current value: 4634097805726 change value: 1117
ns current value: 4634097806564 change value: 838
ns current value: 4634097807682 change value: 1118
ns current value: 4634097808520 change value: 838
ns current value: 4634097809637 change value: 1117
ns current value: 4634097810475 change value: 838
ns current value: 4634097811593 change value: 1118
ns current value: 4634097812431 change value: 838
ns current value: 4634097813548 change value: 1117
ns current value: 4634097814666 change value: 1118
This article comes from the CSDN blog. Please indicate the source when reprinting: http://blog.csdn.net/chuan122345/archive/2009/12/31/5110727.aspx