java微秒精度怎么弄,如何在Java中以微秒精度测量时间?

我在互联网上看到我应该使用System.nanoTime(),但这对我来说不起作用 – 它给了我毫秒级精度的时间。我只需要在我的函数执行之前和之后的微秒,以便我知道需要多长时间。我使用的是Windows XP。

基本上,我有这样的代码,例如,在一个java链接列表中,可以执行1百万次到10万次的插入。问题是我无法测量精确度;有时将所有内容插入较小的列表中需要较少的时间。

以下是一个例子:

class test

{

public static void main(String args[])

{

for(int k=1000000; k<=10000000; k+=1000000)

{

System.out.println(k);

LinkedList aux = new LinkedList();

//need something here to see the start time

for(int i=0; i

aux.addFirst(10000);

//need something here to see the end time

//print here the difference between both times

}

}

}

我做了很多次 – 有一个外部循环为每个k做20次,但结果不好。有时候,花费更少的时间来进行1000万次插入超过100万次,因为我没有得到正确的测量时间与我现在使用的(System.nanoTime())

编辑2:是的,我正在使用Sun JVM。

编辑3:我可能在代码中做错了,我会看到如果改变它做我想要的。

编辑4:我的错误,似乎System.nanoTime()工作。唷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值