Java中如何计算一段程序的运行时间

计算一段程序的运行时间,通常可以使用Java中的System.currentTimeMillis()方法来实现。具体步骤如下:

  1. 在程序的开始处,调用System.currentTimeMillis()方法记录下当前时间值。
long startTime = System.currentTimeMillis();
  1. 在程序的结束处,再次调用System.currentTimeMillis()方法记录下当前时间值。
long endTime = System.currentTimeMillis();
  1. 计算程序的运行时间,可以通过endTime-startTime计算得到。
long runTime = endTime - startTime;

其中,runTime的单位是毫秒(ms),如果需要转换成秒(s),可以除以1000。

以下是两个示例:

示例一:计算排序算法的运行时间

public static void bubbleSort(int[] arr) {
    int n = arr.length;
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

public static void main(String[] args) {
    int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
    long startTime = System.currentTimeMillis();
    bubbleSort(arr);
    long endTime = System.currentTimeMillis();
    long runTime = endTime - startTime;
    System.out.println("运行时间:" + runTime + "ms");
}

输出结果为:运行时间:0ms

示例二:计算递归算法的运行时间

public static int fibonacci(int n) {
    if (n == 0) {
        return 0;
    } else if (n == 1) {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

public static void main(String[] args) {
    int n = 10;
    long startTime = System.currentTimeMillis();
    int result = fibonacci(n);
    long endTime = System.currentTimeMillis();
    long runTime = endTime - startTime;
    System.out.println(n + "的斐波那契数列结果为:" + result);
    System.out.println("运行时间:" + runTime + "ms");
}

输出结果为:10的斐波那契数列结果为:55 运行时间:1ms

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中如何计算一段程序的运行时间 - Python技术站

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

相关文章

  • java 线程池的实现方法

    Java线程池是一种内部维护一定数量线程,用于处理多个并发任务的机制。使用线程池可以避免不断地创建和销毁线程,从而提高程序的性能和响应速度。本文将详细讲解Java线程池的实现方法,包括线程池的概述、核心参数和实现方式等,并通过示例说明其使用方法。 一、线程池概述 线程池是一种能够提高线程复用率、控制最大并发数、管理线程生命周期的机制。Java线程池中最主要的…

    Java 2023年5月26日
    00
  • 完美实现bootstrap分页查询

    实现 Bootstrap 分页查询的步骤如下: 1. 引入 Bootstrap 在 HTML 文件中引入 Bootstrap 的 CSS 和 JavaScript 文件: <!– 引入 Bootstrap CSS 文件 –> <link rel="stylesheet" href="https://cdn.…

    Java 2023年6月15日
    00
  • spring-transaction源码分析(1)概述和事务传播级别

    spring-tx概述 spring-tx包使用注解驱动和AOP通知将事务开启、提交/回滚、以及复杂的传播机制封装了起来,开发者不再需要编写事务管理的代码,而是可以只关注自己的业务逻辑。 本文将简单介绍spring-tx使用步骤以及七种事务传播级别。 后续文章会阅读源码,深入分析spring-tx aop通知、七种事务传播级别以及事务开启/提交/回滚的实现方…

    Java 2023年5月6日
    00
  • Java+swing+Mysql实现商品销售管理系统

    让我来讲解“Java+swing+Mysql实现商品销售管理系统”的完整攻略。这个系统主要涉及到 Java 编程语言、swing GUI 工具包以及 Mysql 数据库的应用。下面是具体的步骤: 步骤一:环境搭建与项目创建 在搭建环境之前需要安装 Java JDK、Eclipse/IDEA 编辑器、Mysql 数据库工具等软件。具体过程可以参考网上教程进行安…

    Java 2023年5月19日
    00
  • Java 读写Properties配置文件详解

    Java 读写Properties配置文件详解 什么是Properties文件? Properties文件是一种配置文件,常用于存储程序中需要的各种参数信息,可以被Java程序轻松地读写。Properties文件通常以”.properties”为后缀名,且文件内容为键值对的形式。 Properties文件的读写 读取Properties文件 读取Proper…

    Java 2023年5月20日
    00
  • Java 事务注解@Transactional回滚(try catch、嵌套)问题

    Java 事务注解@Transactional是用来标记一个方法需要被事务管理的,常用于对数据库进行操作时保证数据的一致性。在使用@Transactional标记方法时,我们可能会遇到回滚问题。 @Transactional的默认回滚行为 首先介绍一下@Transactional默认的回滚行为。如果一个被@Transactional标记的方法执行过程中抛出了…

    Java 2023年5月27日
    00
  • java 逐行读取txt文本如何解决中文乱码

    要想解决中文乱码问题,需要了解Java中文编码方式的特点。Java会默认使用UTF-8编码格式,而读取txt文本时可能会面对其他编码格式,因此需要进行适当的转码操作。 以下是逐行读取txt文本并解决中文乱码问题的步骤: 创建一个FileReader对象,用于读取txt文件,并指定编码格式为GBK。 FileReader fr = new FileReader…

    Java 2023年5月20日
    00
  • 两个例子了解java中的回调机制

    回调(Callback)是指A调用B的某个方法,B完成这个方法后通知A,这个机制在Java中被广泛应用,比如事件驱动(Event-Driven)编程、异步编程等。 下面分别通过两个实际例子来阐述Java中的回调机制: 例子一:事件驱动编程 在GUI(Graphical User Interface)编程中,事件驱动模型非常常见,我们可以通过按钮、文本框等控件…

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