iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java计算程序代码执行时间的方法有哪些
  • 160
分享到

Java计算程序代码执行时间的方法有哪些

java 2023-05-30 22:05:00 160人浏览 薄情痞子
摘要

小编给大家分享一下Java计算程序代码执行时间的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!有时候为了排查性能问题,需要记录完成某个操作需要的时间,我

小编给大家分享一下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(); }}

输出结果类似:

```out0.609 seconds.

以上是“Java计算程序代码执行时间的方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java计算程序代码执行时间的方法有哪些

本文链接: https://www.lsjlt.com/news/221951.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作