易截截图软件、单文件、免安装、纯绿色、仅160KB

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 当前


相关文档:

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

Java正则表达式(1)

Java正则表达式的应用,这里主要用到了Pattern类。
源码如下:
package quiz;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Java正则表达式示例
* */
public class RegularExpressionPattern {
public static void main(String[] args) {
//1.采用Pattern.LITERAL模式,
Patter ......

Java获得指定ClassLoader所加载的类列表

     一直想实现像DriverManager那样的getConnection方法,通过此方法就可以获得连接,而且还不用指定Driver,但前提是Driver已经通过Class.forName()或new Driver()进行了加载。今天终于得以实现。
      package quiz;
import java.lang.reflect.Field;
public class Cl ......

结合反射与 XML 实现 Java 编程的动态性

反射是 Java 语言被视为动态或准动态语言的一个关键性质,结合反射和 XML 会帮助我们更快、更方便地实现一些动态代码,从而解决编程中可能遇到的不确定问题。本文将结合反射与 XML 对 Java 编程的动态性进行深入浅出的讨论。在理解本文的思想之后,您可以将其应用到程序中以创建灵活的代码。
引言
在现实生活中,经常会发 ......

java字符串查找替换

(1).public   static   String   StrReplace(String   rStr,   String   rFix,   String   rRep)  
      {  
          int   l   =   0;  
          String   gRt ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号