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()方法的精度只能精确到毫秒级别。

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

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

相关文章

  • Mybatis实现传入多个参数的四种方法详细讲解

    Mybatis实现传入多个参数的四种方法详细讲解 在 Mybatis 中,我们常常需要传入多个参数来完成一次数据库操作。在 Mybatis 中,传递多个参数的方法有多种,这篇文章将详细介绍其中四种实现方法。 方法一:多个参数设置为Map 在 Mybatis 中,可以使用 Map 作为传递多个参数的容器。使用 Map 的好处是可以为参数取名,容易理解更易于维护…

    Java 2023年5月20日
    00
  • springBoot整合RocketMQ及坑的示例代码

    接下来我将详细讲解“springBoot整合RocketMQ及坑的示例代码”的完整攻略。 一、背景 在我们使用Spring Boot构建分布式系统时,经常会用到消息队列。RocketMQ是阿里巴巴的开源消息中间件,它支持事务消息,并且具有高吞吐量、高可用性、高可靠性等特点,十分适合在分布式系统中使用。本文将介绍如何在Spring Boot项目中整合Rocke…

    Java 2023年5月26日
    00
  • java如何从不规则的字符串中截取出日期

    首先我们需要了解一个基础概念:正则表达式。 正则表达式是用于匹配字符串的一种模式,可以用来判断某个字符串是否符合我们预期的格式。在Java中,可以使用Pattern和Matcher类来实现正则表达式。现在假设我们有这样一个日期字符串:2019/12/31,23:59:59,我们需要从中提取出日期部分2019/12/31,该怎么办呢? 一种解决方法是使用Pat…

    Java 2023年5月20日
    00
  • 深入理解Java中的构造函数引用和方法引用

    深入理解Java中的构造函数引用和方法引用 在Java中,构造函数引用和方法引用是两个很重要的概念。了解这两个概念可以帮助Java程序员更好地编写代码,提高代码的质量和可读性。 构造函数引用 构造函数引用可以用来创建对象。在Java 8之前,我们通常使用匿名内部类来创建对象。例如: Runnable runnable = new Runnable() { @…

    Java 2023年5月26日
    00
  • 使用Apache Camel表达REST服务的方法

    使用Apache Camel表达REST服务的方法主要可以分为三步: 编写REST服务逻辑代码; 将REST服务逻辑代码嵌入到Camel路由器中; 配置Camel路由器以将REST服务暴露给客户端。 下面详细介绍这三步的具体实现方法。 第一步:编写REST服务逻辑代码 对于每个REST服务,你需要编写处理请求的逻辑代码。这些代码通常使用Java编写,并且基于…

    Java 2023年5月19日
    00
  • Java自动生成趋势比对数据的方法分享

    Java自动生成趋势比对数据的方法分享 在这篇文章中,我们将介绍如何使用 Java 编程语言自动生成趋势比对数据。我们将分步骤地介绍如何构建一个可以处理数据的 Java 类,以及如何使用该类生成您需要的比对数据。 步骤一:创建 Java 类 首先,您需要创建一个名为 TrendComparer 的 Java 类,该类将会处理您的数据并生成比对数据。 publ…

    Java 2023年5月26日
    00
  • SpringMVC的执行流程及组件详解

    以下是关于“SpringMVC的执行流程及组件详解”的完整攻略,其中包含两个示例。 SpringMVC的执行流程及组件详解 SpringMVC是一个基于MVC模式的Web框架,它可以帮助我们快速开发Web应用程序。本文将介绍SpringMVC的执行流程及组件详解,并提供两个示例。 SpringMVC的执行流程 SpringMVC的执行流程可以分为以下几个步骤…

    Java 2023年5月16日
    00
  • JDBC板块精华整理20051226

    首先,“JDBC板块精华整理20051226”是一份关于Java数据库连接技术的精华整理资料,它详细介绍了JDBC的基本概念、用法和常见问题解决方法。以下是该攻略的完整内容: JDBC概述 JDBC(即Java Database Connectivity)是一套用于Java编程语言与各种类型的数据库进行连接和操作的API规范。它提供了一个标准的Java接口,…

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