Java使用System.currentTimeMillis()方法计算程序运行时间的示例代码

下面我来详细讲解使用Java中的System.currentTimeMillis()方法计算程序运行时间的完整攻略。

一、System.currentTimeMillis()方法

System.currentTimeMillis()是Java中的一个常用方法,用于获取当前时间戳,即从1970年1月1日0时0分0秒开始到现在的毫秒数,返回类型为long。

二、计算程序运行时间示例

接下来,我们来看两个示例,分别使用System.currentTimeMillis()方法来计算程序运行时间。

示例1: 计算Fibonacci数列的递归实现运行时间

public class Fibonacci {

    public static void main(String[] args) {
        int n = 40; // 需要计算Fibonacci数列的第n项
        long start = System.currentTimeMillis(); // 开始时间
        int result = fibonacci(n); // 计算Fibonacci数列的第n项
        long end = System.currentTimeMillis(); // 结束时间
        System.out.println("第" + n + "项的值为:" + result);
        System.out.println("程序运行时间为:" + (end - start) + "ms");
    }

    // 计算Fibonacci数列的第n项(递归实现)
    public static int fibonacci(int n) {
        if (n == 1 || n == 2) {
            return 1;
        }
        return fibonacci(n - 1) + fibonacci(n - 2);
    }

}

运行结果:

第40项的值为:102334155
程序运行时间为:6189ms

示例2: 计算Fibonacci数列的循环实现运行时间

public class Fibonacci2 {

    public static void main(String[] args) {
        int n = 40; // 需要计算Fibonacci数列的第n项
        long start = System.currentTimeMillis(); // 开始时间
        int result = fibonacci(n); // 计算Fibonacci数列的第n项
        long end = System.currentTimeMillis(); // 结束时间
        System.out.println("第" + n + "项的值为:" + result);
        System.out.println("程序运行时间为:" + (end - start) + "ms");
    }

    // 计算Fibonacci数列的第n项(循环实现)
    public static int fibonacci(int n) {
        int a = 1;
        int b = 1;
        int result = 1;
        for (int i = 3; i <= n; i++) {
            result = a + b;
            a = b;
            b = result;
        }
        return result;
    }

}

运行结果:

第40项的值为:102334155
程序运行时间为:0ms

三、总结

通过以上示例,我们可以发现,使用System.currentTimeMillis()方法可以很方便地计算程序运行时间。在计算程序运行时间时,应在程序执行开始和结束时分别使用System.currentTimeMillis()方法获取当前时间戳,并求出二者之差,即可得出程序的运行时间。另外,需要注意的是,在程序执行时间过短的情况下,可能出现运行时间为0的情况,因为System.currentTimeMillis()方法的精度只能精确到毫秒级别。

阅读剩余 40%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用System.currentTimeMillis()方法计算程序运行时间的示例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • struts2中类型转换实例代码

    Struts2中类型转换可以将String类型的参数转换为具体的对象类型,比如将字符串形式的日期转换为Date类型。下面是struts2中类型转换的实例代码: 1. 实现TypeConverter接口 public class DateConverter implements TypeConverter { @Override public Object c…

    Java 2023年5月20日
    00
  • java的Hibernate框架报错“QueryException”的原因和解决方法

    当使用Hibernate框架时,可能会遇到“QueryException”错误。这个错误通常是由于以下原因之一引起的: HQL语句错误:如果您的HQL语句存在问题,则可能会出现此错误。在这种情况下,需要检查您的HQL语句并确保它们正确。 参数绑定错误:如果您的参数绑定存在问题,则可能会出现此错误。在这种情况下,需要检查您的参数绑定并确保它们正确。 数据库表结…

    Java 2023年5月4日
    00
  • 什么是堆区?

    以下是关于 Java 堆区的详细讲解和使用攻略: 堆区的作用是什么? Java 堆区(Heap)是一种用于存储对象实例的内存区域。堆区是线程共享的,其大小可以通过 -Xmx 和 -Xms 参数进行设置。 堆区的使用攻略 使用 Java 堆区,需要注意以下几点: 在程序开发中需要合理使用内存,避免出现内存泄漏和内存溢出等问题。 在实现自定义的类时,需要注意对象…

    Java 2023年5月12日
    00
  • JVM类加载机制原理及用法解析

    JVM类加载机制原理及用法解析 Java虚拟机是Java语言实现”Write Once, Run Anywhere”程序设计理念的一个关键组成部分,而Java虚拟机中最重要的一个子系统就是类加载子系统。该子系统负责对字节码文件(.class文件)中的类进行加载、验证、准备、解析、初始化等操作,从而在程序的运行中实现类的动态加载和管理。那么,下面我们就来详细讲…

    Java 2023年6月15日
    00
  • SpringBoot使用编程方式配置DataSource的方法

    当使用SpringBoot构建Web应用程序时,我们常常需要使用数据源,这里我们具体讲解使用编程方式配置DataSource的方法。 首先,需要在pom.xml文件中添加相应的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactI…

    Java 2023年5月19日
    00
  • 使用MyEclipse 开发struts2框架实现登录功能(结构教程)

    使用MyEclipse开发Struts2框架实现登录功能主要分为以下几个步骤: 创建Web项目 在MyEclipse中新建Web项目,在选项中选择Struts2作为框架。 配置Struts2 配置Struts2需要在项目中添加struts2-core.jar和struts2-config-browser-plugin.jar两个库文件。在web.xml文件中…

    Java 2023年5月20日
    00
  • java读取文件显示进度条的实现方法

    Java读取文件并显示进度条的实现方法可以分为以下几步: 步骤一:获取文件大小 File file = new File("文件路径"); long fileSize = file.length(); 步骤二:读取文件并更新进度条 FileInputStream fileInputStream = new FileInputStream(…

    Java 2023年5月20日
    00
  • Java深入浅出理解快速排序以及优化方式

    Java深入浅出理解快速排序以及优化方式 快速排序简介 快速排序是一种常用的排序算法,它的基本思想是选定一个基准数,通过递归的方式将比基准数小的值放在其左侧,比基准数大的值放在其右侧,最终达到排序的效果。快速排序的时间复杂度为O(nlogn),是一种比较快速有效的排序算法。 快速排序基本流程 选择一个基准数,例如选定数组的最后一个元素作为基准数; 遍历数组,…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部