Escribí un código de prueba simple y probé la unidad de actualización de tiempo de JAVA. Descubrí que el ciclo de actualización de currentTimeMillis es de aproximadamente 15 o 16 ms, por lo que la precisión es de solo 15 ms-16 ms. No se puede medir un tiempo inferior a 15 ms. El ciclo de actualización de nanoTime es de aproximadamente 800-1200 nanosegundos, por lo que no se pueden medir tiempos inferiores a 800 ns. El código es el siguiente:
clase pública JavaTimeWinTest
{
principal vacío estático público (String [] argumentos)
{
pruebams();
nsPrueba();
}
msTest vacío estático privado()
{
tamaño int = 6000000;
long[] veces = new long[tamaño];
para(int k = 0;k <tamaño;k++)
{
veces[k] = System.currentTimeMillis();
}
tiempo previo largo = veces [0];
para(int k = 1;k <tamaño;k++)
{
si(veces[k]>preTiempo)
{
System.out.print("valor actual de ms:" + veces[k]);
System.out.println("Cambiar valor:" + (times[k]-preTime));
preTime = veces[k];
}
}
}
nsTest vacío estático privado()
{
tamaño entero = 50;
long[] veces = new long[tamaño];
para(int k = 0;k <tamaño;k++)
{
veces[k] = System.nanoTime();
}
tiempo previo largo = veces [0];
para(int k = 1;k <tamaño;k++)
{
si(veces[k]>preTiempo)
{
System.out.print("ns valor actual:" + veces[k]);
System.out.println("Cambiar valor:" + (times[k]-preTime));
preTime = veces[k];
}
}
}
}
El resultado de ejecutar el código es el siguiente:
ms valor actual: 1262223891000 cambiar valor: 16
valor actual de ms: 1262223891015 valor de cambio: 15
ms valor actual: 1262223891031 cambiar valor: 16
ms valor actual: 1262223891046 cambiar valor: 15
ms valor actual: 1262223891062 cambiar valor: 16
ms valor actual: 1262223891078 cambiar valor: 16
ms valor actual: 1262223891093 cambiar valor: 15
ms valor actual: 1262223891109 cambiar valor: 16
ms valor actual: 1262223891125 cambiar valor: 16
ms valor actual: 1262223891140 cambiar valor: 15
ms valor actual: 1262223891156 cambiar valor: 16
ms valor actual: 1262223891171 cambiar valor: 15
ms valor actual: 1262223891187 cambiar valor: 16
ms valor actual: 1262223891203 cambiar valor: 16
ms valor actual: 1262223891218 cambiar valor: 15
ms valor actual: 1262223891234 cambiar valor: 16
ms valor actual: 1262223891250 cambiar valor: 16
ms valor actual: 1262223891265 cambiar valor: 15
ms valor actual: 1262223891281 cambiar valor: 16
ms valor actual: 1262223891296 cambiar valor: 15
ns valor actual: 4634097766894 valor de cambio: 3631
ns valor actual: 4634097768012 valor de cambio: 1118
ns valor actual: 4634097769129 valor de cambio: 1117
ns valor actual: 4634097769967 valor de cambio: 838
ns valor actual: 4634097771085 valor de cambio: 1118
ns valor actual: 4634097771923 cambiar valor: 838
ns valor actual: 4634097773040 valor de cambio: 1117
ns valor actual: 4634097773879 cambiar valor: 839
ns valor actual: 4634097774996 valor de cambio: 1117
ns valor actual: 4634097775834 valor de cambio: 838
ns valor actual: 4634097776952 valor de cambio: 1118
ns valor actual: 4634097777790 cambiar valor: 838
ns valor actual: 4634097778907 valor de cambio: 1117
ns valor actual: 4634097780025 valor de cambio: 1118
ns valor actual: 4634097780863 cambiar valor: 838
ns valor actual: 4634097781980 valor de cambio: 1117
ns valor actual: 4634097782818 valor de cambio: 838
ns valor actual: 4634097783936 cambiar valor: 1118
ns valor actual: 4634097784774 valor de cambio: 838
ns valor actual: 4634097785891 valor de cambio: 1117
ns valor actual: 4634097786729 valor de cambio: 838
ns valor actual: 4634097787847 valor de cambio: 1118
ns valor actual: 4634097788685 valor de cambio: 838
ns valor actual: 4634097789802 valor de cambio: 1117
ns valor actual: 4634097790920 valor de cambio: 1118
ns valor actual: 4634097791758 valor de cambio: 838
ns valor actual: 4634097792875 valor de cambio: 1117
ns valor actual: 4634097793714 valor de cambio: 839
ns valor actual: 4634097794831 valor de cambio: 1117
ns valor actual: 4634097795669 cambiar valor: 838
ns valor actual: 4634097796787 valor de cambio: 1118
ns valor actual: 4634097797625 valor de cambio: 838
ns valor actual: 4634097798742 valor de cambio: 1117
ns valor actual: 4634097799580 valor de cambio: 838
ns valor actual: 4634097800698 valor de cambio: 1118
ns valor actual: 4634097801815 valor de cambio: 1117
ns valor actual: 4634097802653 cambiar valor: 838
ns valor actual: 4634097803771 valor de cambio: 1118
ns valor actual: 4634097804609 valor de cambio: 838
ns valor actual: 4634097805726 cambiar valor: 1117
ns valor actual: 4634097806564 valor de cambio: 838
ns valor actual: 4634097807682 valor de cambio: 1118
ns valor actual: 4634097808520 cambiar valor: 838
ns valor actual: 4634097809637 valor de cambio: 1117
ns valor actual: 4634097810475 valor de cambio: 838
ns valor actual: 4634097811593 cambiar valor: 1118
ns valor actual: 4634097812431 valor de cambio: 838
ns valor actual: 4634097813548 valor de cambio: 1117
ns valor actual: 4634097814666 cambiar valor: 1118
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/chuan122345/archive/2009/12/31/5110727.aspx .