Java程序运行纳秒级差值计算
【摘要】
纳秒
ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。 1纳秒=1000 皮秒
1纳秒 =0.001 微秒
1纳秒=0.000001 毫秒
1纳秒=0.00000 0001秒
其实翻过来看更清晰,咱们...
纳秒
ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。
1纳秒=1000 皮秒1纳秒 =0.001 微秒
1纳秒=0.000001 毫秒
1纳秒=0.00000 0001秒
其实翻过来看更清晰,咱们看毫秒啊
100000纳秒=1毫秒
java的System.currentTimeMillis()和System.nanoTime()区别:
java中System.nanoTime()返回的是纳秒,nanoTime而返回的可能是任意时间,甚至可能是负数……
java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数.
两个方法都不能保证完全精确,精确程度依赖具体的环境.
更细致的差别
-
package Action;
-
-
public class demo {
-
public static void main(String[] args) {
-
//1纳秒=0.000001 毫秒
-
//100000纳秒=1毫秒
-
int count=100000;
-
long start = System.nanoTime();
-
long sum=0;
-
for (int i = 1; i <= count; i++) {
-
sum+=i;
-
}
-
System.out.println(sum);
-
long end = System.nanoTime();
-
System.out.println("累计"+count+"的值用时:"+(end-start)+"纳秒");
-
System.gc();//清理一下
-
long start1 = System.currentTimeMillis();
-
long sum1=0;
-
for (int i = 1; i <= count; i++) {
-
sum1+=i;
-
}
-
System.out.println(sum1);
-
long end1 = System.currentTimeMillis();
-
System.out.println("累计"+count+"的值用时:"+(end1-start1)+"毫秒");
-
}
-
}
可以看到纳秒更加细致的反应除了程序的运行之间,基本上定义一个变量用时100纳秒,咱们可以根据具体的情况进行更为细致的优化,让程序更加的快捷。
文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。
原文链接:laoshifu.blog.csdn.net/article/details/122800986
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)