java – 为什么System.nanoTime()需要4400纳秒

我正在测试一些算法,当我随机忘记删除计时器时,我用纳秒计时器包围,我发现这段代码

    a = System.nanoTime();
    System.out.println(System.nanoTime() - a);

总是在我的系统上打印4400纳秒.这将是4.4微秒,而这段代码

    a = System.currentTimeMillis();
    for (int i = 0; i < 1000; i++)
        System.nanoTime();
    System.out.println(System.currentTimeMillis() - a);

打印0

最佳答案
4400纳秒是4.4微秒,或0.0044毫秒.第二个示例将始终打印为零,因为经过的时间远小于一毫秒.然后使用的两个定时器之间存在差异:currentTimeMillis可以调整时钟偏差而nanoTime不能,但我怀疑这是在这里发挥作用.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...