stopWatch任务秒表
简介
有时我们在开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后者这样如果执行大量的测试的话,会很麻烦,如果对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录工具
StopWatch stopWatch = new StopWatch();stopWatch.start();// 可以给 任务秒表起名字// stopWatch.start("你好");TimeUnit.SECONDS.sleep(2);stopWatch.stop();// 输出毫秒System.out.println(stopWatch.getTotalTimeMillis());// 输出秒System.out.println(stopWatch.getTotalTimeSeconds());
// 多次统计StopWatch s = new StopWatch();s.start("A");TimeUnit.SECONDS.sleep(1);s.stop();s.start("B");TimeUnit.SECONDS.sleep(2);s.stop();s.start("C");TimeUnit.SECONDS.sleep(3);s.stop();// 优雅的格式打印结果,表格形式System.out.println(s.prettyPrint());// 获取最后一次执行毫秒System.out.println(s.getLastTaskTimeMillis());// shortSummary() 返回简短的总耗时描述System.out.println(s.shortSummary());// getTaskCount() 返回统计时间任务的数量System.out.println(s.getTaskCount());// getLastTaskInfo().getTaskName() 返回最后一个任务TaskInfo对象的名称System.out.println(s.getLastTaskInfo().getTaskName());
