📅  最后修改于: 2023-12-03 15:31:34.156000             🧑  作者: Mango
在 Java 中,我们可以使用多种方式测量程序的执行时间,下面介绍最常用的三种方式。
System 类中的 currentMillis() 方法返回当前时间(以毫秒为单位),我们可以在程序的开始和结束时记录时间并求差值,得到程序的执行时间。
long startTime = System.currentTimeMillis();
// your code here
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
System.out.println("程序执行时间:" + duration + "毫秒");
System.nanoTime() 方法返回当前时间(以纳秒为单位),由于其精度较高,因此在某些需要更精确计时的场合可能更适合使用。
long startTime = System.nanoTime();
// your code here
long endTime = System.nanoTime();
long duration = (endTime - startTime) / 1000000; // 将纳秒转换为毫秒
System.out.println("程序执行时间:" + duration + "毫秒");
TimeUnit 是 Java 提供的一个枚举,包含了八个时间单位,比如微秒、毫秒和秒等,可以更方便地进行时间单位转换。
long startTime = System.nanoTime();
// your code here
long endTime = System.nanoTime();
long duration = TimeUnit.NANOSECONDS.toMillis(endTime - startTime);
System.out.println("程序执行时间:" + duration + "毫秒");
以上三种方式均可以有效测量程序的执行时间,选择哪种方式取决于具体情况。如果需要更高的精度,可以使用第二种方式;如果需要方便的时间单位转换,可以使用第三种方式。