import java.time.Duration;
import java.time.Instant;
public class Stopwatch {
private Instant startTime;
private Instant endTime;
private boolean running;
// 启动计时器
public void start() {
if (running) {
throw new IllegalStateException("Stopwatch is already running.");
}
startTime = Instant.now();
running = true;
}
// 停止计时器
public void stop() {
if (!running) {
throw new IllegalStateException("Stopwatch is not running.");
}
endTime = Instant.now();
running = false;
}
// 获取经过的时间(以秒为单位)
public double getElapsedTime() {
if (running) {
return Duration.between(startTime, Instant.now()).getSeconds();
} else {
return Duration.between(startTime, endTime).getSeconds();
}
}
public static void main(String[] args) throws InterruptedException {
Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
Thread.sleep(2000); // 模拟耗时操作,这里休眠2秒
stopwatch.stop();
System.out.println("Elapsed time: " + stopwatch.getElapsedTime() + " seconds");
}
}
Stopwatch 类用于实现一个简单的计时器。startTime 和 endTime 分别记录计时器的启动时间和停止时间。running 是一个布尔值,表示计时器是否正在运行。start() 方法启动计时器,并将当前时间保存到 startTime 中。stop() 方法停止计时器,并将当前时间保存到 endTime 中。getElapsedTime() 方法计算并返回从启动到停止的时间差(以秒为单位)。如果计时器仍在运行,则返回从启动到现在的时间差。main 方法中,创建了一个 Stopwatch 实例,启动计时器,模拟了一个耗时操作(休眠2秒),然后停止计时器并输出经过的时间。上一篇:java treemap
下一篇:java解析xml
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站