Java时间更新周期测试
写了个简单的测试代码,测试了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 当前
相关文档:
LGame是Loonframework框架的一部分,也是针对Java2D游戏开发而设计的“一揽子”项目,它的创立初衷在于构建一个高效且完善的Java2D游戏开发体系。
发布时间
版本号
2009-12-29
0.2.5
2009-10-10
0.2.0
2009-09-13
0.1.5
2009-08-11
0.1.0
2009-12-29 LGame-Simple-0.2.5 ......
一. stream
代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:
1 以字节为导向的stream
以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:
Input s ......
(1).public static String StrReplace(String rStr, String rFix, String rRep)
{
int l = 0;
String gRt ......