在做开发的时需要统计每个方法的执行消耗时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,然而使用使用Spring的StopWatch类就可以优雅打印方法执行耗时间
 简单的Demo
import org.springframework.util.StopWatch;  public class SpringStopWatchExample {  public static void main (String[] args) throws InterruptedException {  StopWatch sw = new StopWatch();  sw.start();  //long task simulation  Thread.sleep(1000);  sw.stop();  System.out.println(sw.getTotalTimeMillis());  }  
}
打印同个方法多个代码块的执行消耗时间
import org.springframework.util.StopWatch;  public class SpringStopWatchExample2 {  public static void main (String[] args) throws InterruptedException {  StopWatch sw = new StopWatch();  sw.start("A");  Thread.sleep(1000);  sw.stop();  sw.start("B");  Thread.sleep(200);  sw.stop();  sw.start("C");  Thread.sleep(500);  sw.stop();  System.out.println(sw.prettyPrint());  }  
}
输入结果
StopWatch '': running time (millis) = 1031  
-----------------------------------------  
ms     %     Task name  
-----------------------------------------  
00514  100%   A  
00302  0200%  B  
00215  0500%  C
StopWatch常用方法getTotalTimeSeconds() 获取总耗时秒,同时也有获取毫秒的方法prettyPrint() 优雅的格式打印结果,表格形式shortSummary() 返回简短的总耗时描述getTaskCount() 返回统计时间任务的数量getLastTaskInfo().getTaskName() 返回最后一个任务TaskInfo对象的名称