Java计算程序代码执行时间的方法小结
程序员文章站
2024-04-02 10:18:16
本文实例总结了java计算程序代码执行时间的方法。分享给大家供大家参考,具体如下:
有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用system类的c...
本文实例总结了java计算程序代码执行时间的方法。分享给大家供大家参考,具体如下:
有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用system类的currenttimemillis()
方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 system的currenttimemillis()方法,并计算两次调用之间的差值,就是方法执行所消耗的毫秒数。
如方法一:
long starttime = system.currenttimemillis(); //获取开始时间 dosomething(); //测试的代码段 long endtime = system.currenttimemillis(); //获取结束时间 system.out.println("程序运行时间:" + (endtime - starttime) + "ms"); //输出程序运行时间
第二种方法是以纳秒为单位计算的(使用system的nanotime()
方法):
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相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《java数据结构与算法教程》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。