package demo.Test;
import org.springframework.util.StopWatch;
public class StopWatchTest {
// private final String id; StopWatch的id,用于区分不同秒表
//
// private boolean keepTaskList = true; 任务列表是否保存,默认true
//
// private final List<TaskInfo> taskList = new ArrayList<>(1); 任务列表
//
// private long startTimeNanos; 任务开始时间
//
// @Nullable
// private String currentTaskName; 当前任务名字
//
// @Nullable
// private TaskInfo lastTaskInfo; 上次任务,TaskInfo有2个属性,任务名字、任务执行耗时
//
// private int taskCount; 任务总数
//
// private long totalTimeNanos; 所有任务总耗时
public static void main(String[] args) throws Exception{
// 相比于这种方式记录耗时,StopWatch更加方便,能直观显示耗时百分比
// long start = System.currentTimeMillis();
// Thread.sleep(1000);
// long end = System.currentTimeMillis();
// long cost = end - start;
StopWatch stopWatch = new StopWatch("MyStopWatch");
stopWatch.start("task_1");
Thread.sleep(1000);
stopWatch.stop();
stopWatch.start("task_2");
Thread.sleep(2000);
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
}
}
输出:
StopWatch 'MyStopWatch': running time = 3000565100 ns
---------------------------------------------
ns % Task name
---------------------------------------------
1000106300 033% task_1
2000458800 067% task_2
本文展示了如何在Spring框架中使用StopWatch类来测量和记录两个任务(task_1和task_2)的执行时间,提供了直观的百分比视图。
6203






