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

yizhihongxing

下面我来详细讲解使用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()方法的精度只能精确到毫秒级别。

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

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

相关文章

  • 一名Java高级工程师需要学什么?

    作为一名Java高级工程师,需要掌握以下技能和知识: 1. Java核心技术 Java核心技术是Java开发的基础,包括Java SE、Java EE、Java ME等。Java SE是Java标准版,包括Java语言基础、集合框架、IO、多线程、反射、注解等。Java EE是Java企业版,包括Servlet、JSP、EJB、JPA、JMS、Web Ser…

    Java 2023年5月18日
    00
  • Tomcat服务部署及优化的实现

    Tomcat服务部署及优化的实现 Tomcat作为一个基于Java的web应用服务器,它的部署和优化对于web应用的性能和稳定性至关重要。本文将介绍Tomcat服务部署及优化的实现攻略,包括以下步骤: 上传Tomcat压缩包并解压 配置Tomcat环境变量 启动Tomcat服务 部署web应用程序 Tomcat性能优化 上传Tomcat压缩包并解压 首先,我…

    Java 2023年5月19日
    00
  • JSP开发入门(四)–JSP的内部对象

    JSP(JavaServer Pages)是一种动态网页开发技术,通过将静态HTML页面和动态Java代码相结合,实现网页的动态化。在JSP的开发过程中,常会用到JSP的内部对象。本文将详细讲解JSP的内部对象。 JSP的内部对象 JSP有9个内部对象,分别是:request、response、out、session、application、page、exc…

    Java 2023年6月15日
    00
  • JavaSpringBoot报错“IllegalStateException”的原因和处理方法

    原因 “IllegalStateException” 错误通常是以下原因引起的: 应用程序状态不正确:如果您的应用程序状态不正确,则可能会出现此错误。在这种情况下,您需要检查您的应用程序状态并确保它们正确。 应用程序配置不正确:如果您的应用程序配置不正确,则可能会出现此错误。在这种情况下,您需要检查您的应用程序配置并确保它们正确。 解决办法 以下是解决 “I…

    Java 2023年5月4日
    00
  • java多次嵌套循环查询数据库导致代码中数据处理慢的解决

    针对“Java多次嵌套循环查询数据库导致代码中数据处理慢的解决”这个问题,我们可以采取以下五个步骤来解决: 将多次嵌套循环的查询转换为单次查询,减少数据库操作次数 将单次查询的结果集缓存,避免重复查询 将缓存的结果集转换为可供快速查询的数据结构,例如哈希表 对查询语句和查询条件进行优化 采用多线程并发处理查询任务 下面针对这五个步骤依次进行讲解: 1. 将多…

    Java 2023年5月20日
    00
  • Java编程实现排他锁代码详解

    Java编程实现排他锁代码详解 在Java中,排他锁也就是独占锁,是用来控制对共享资源的访问的一种锁。它允许在同一时间只有一个线程访问共享资源,其他的线程必须等待锁被释放之后才能争抢获取锁。在多线程环境下,使用排他锁可以实现线程之间的同步和协作,防止并发问题的发生。本攻略将详细讲解如何使用Java编程实现排他锁。 什么是排他锁 排他锁是独占锁,它控制同一时间…

    Java 2023年5月23日
    00
  • SpringBoot如何使用Fastjson解析Json数据

    下面是SpringBoot使用Fastjson解析Json数据的攻略,包含以下几个部分: 添加Fastjson的依赖 编写用于解析Json数据的代码 示例 添加Fastjson的依赖 首先需要在项目的pom.xml文件中添加Fastjson的依赖,可以在官方网站中查看最新版本并添加如下代码: <dependency> <groupId&gt…

    Java 2023年5月26日
    00
  • Mybatis中的常用OGNL表达式

    Mybatis是一个支持OGNL表达式的Java持久层框架,OGNL表达式在Mybatis中十分常用,可以对语句中的参数进行处理和转换,使得SQL语句的灵活性更高,同时也可以更好地利用数据库的性能。 1. OGNL表达式概览 OGNL表达式是一个对象图导航语言,用于访问Java对象的属性和方法。OGNL表达式可以用于动态SQL语句中的查询条件、属性映射、对象…

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