源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java计算程序代码执行时间的方法小结

  • 时间:2022-06-25 14:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java计算程序代码执行时间的方法小结
本文实例总结了Java计算程序代码执行时间的方法。分享给大家供大家参考,具体如下: 有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的[code]currentTimeMillis()[/code]方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 System的currentTimeMillis()方法,并计算两次调用之间的差值,就是方法执行所消耗的毫秒数。 [b]如方法一:[/b]
long startTime = System.currentTimeMillis(); //获取开始时间
doSomething(); //测试的代码段
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间

[b]第二种方法[/b]是以纳秒为单位计算的(使用System的[code]nanoTime()[/code]方法):
long startTime=System.nanoTime(); //获取开始时间
doSomeThing(); //测试的代码段
long endTime=System.nanoTime(); //获取结束时间
System.out.println("程序运行时间: "+(endTime-startTime)+"ns");

示例代码一:
public static void main(String[]args){
 String str="";
 long starTime=System.currentTimeMillis();
 //计算循环10000的时间
 for(int i=0;i<10000;i++){
  str=str+i;
 }
 long endTime=System.currentTimeMillis();
 long Time=endTime-starTime;
 System.out.println(Time);
 StringBuilder bulider=new StringBuilder("");
 starTime=System.currentTimeMillis();
 for(int j=0;j<10000;j++){
  bulider.append(j);
 }
 endTime=System.currentTimeMillis();
 Time=endTime-starTime;
 System.out.println(Time);
}

示例代码二:
public class Main {
 /**
 * 计算两个时间点直接逝去的毫秒数
 *
 */
 public void computeAndDisplayElapsedTime() {
  long startTime = System.currentTimeMillis();
  for (int i = 0; i < 10; i++) {
   try {
    Thread.sleep(60);
   } catch (InterruptedException ex) {
    ex.printStackTrace();
   }
  }
  long endTime = System.currentTimeMillis();
  float seconds = (endTime - startTime) / 1000F;
  System.out.println(Float.toString(seconds) + " seconds.");
 }
 /**
 * 启动程序
 */
 public static void main(String[] args) {
  new Main().computeAndDisplayElapsedTime();
 }
}

输出结果类似:
```out
0.609 seconds.

更多关于java相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/869.htm]java日期与时间操作技巧汇总[/url]》、《[url=http://www.1sucai.cn/Special/632.htm]Java数据结构与算法教程[/url]》、《[url=http://www.1sucai.cn/Special/830.htm]Java操作DOM节点技巧总结[/url]》和《[url=http://www.1sucai.cn/Special/682.htm]Java缓存操作技巧汇总[/url]》 希望本文所述对大家java程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部