📜  java 测量执行时间 - Java (1)

📅  最后修改于: 2023-12-03 15:31:34.156000             🧑  作者: Mango

Java中测量执行时间

在 Java 中,我们可以使用多种方式测量程序的执行时间,下面介绍最常用的三种方式。

1. 使用System.currentTimeMillis()方法

System 类中的 currentMillis() 方法返回当前时间(以毫秒为单位),我们可以在程序的开始和结束时记录时间并求差值,得到程序的执行时间。

long startTime = System.currentTimeMillis();

// your code here

long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
System.out.println("程序执行时间:" + duration + "毫秒");
2. 使用System.nanoTime()方法

System.nanoTime() 方法返回当前时间(以纳秒为单位),由于其精度较高,因此在某些需要更精确计时的场合可能更适合使用。

long startTime = System.nanoTime();

// your code here

long endTime = System.nanoTime();
long duration = (endTime - startTime) / 1000000; // 将纳秒转换为毫秒
System.out.println("程序执行时间:" + duration + "毫秒");
3. 使用java.util.concurrent.TimeUnit类

TimeUnit 是 Java 提供的一个枚举,包含了八个时间单位,比如微秒、毫秒和秒等,可以更方便地进行时间单位转换。

long startTime = System.nanoTime();

// your code here

long endTime = System.nanoTime();
long duration = TimeUnit.NANOSECONDS.toMillis(endTime - startTime);
System.out.println("程序执行时间:" + duration + "毫秒");

以上三种方式均可以有效测量程序的执行时间,选择哪种方式取决于具体情况。如果需要更高的精度,可以使用第二种方式;如果需要方便的时间单位转换,可以使用第三种方式。