欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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"); //输出程序运行时间

第二种方法是以纳秒为单位计算的(使用systemnanotime()方法):

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程序设计有所帮助。