StopWatch翻譯過來的意思就是秒錶,其做用也就像咱們平時使用的秒同樣。spring中就有提供這個工具類(org.springframework.util.StopWatch)。spring
平常開發中,常常須要看方法各部分的耗時,一般的作法就是經過插樁的方式來統計耗時,以下:工具
1 long startTime = System.currentTimeMillis(); 2 Thread.sleep(1000); 3 long finishTime = System.currentTimeMillis(); 4 System.out.println("請求耗時:" + (finishTime - startTime));
若是有多個就要重複寫多個,比較繁瑣,這個時候就能夠用StopWatch工具類。以下:spa
1 StopWatch sw = new StopWatch(); 2 3 sw.start("校驗耗時"); 4 Thread.sleep(1000); 5 sw.stop(); 6 7 sw.start("組裝報文耗時"); 8 Thread.sleep(2000); 9 sw.stop(); 10 11 sw.start("請求耗時"); 12 Thread.sleep(1000); 13 sw.stop(); 14 15 System.out.println(sw.prettyPrint()); 16 System.out.println(sw.getTotalTimeMillis());
即便須要加多個位置,也很方便,用prettyPrint方法,能夠帶格式自動輸出各個任務的狀況,以下:翻譯
StopWatch還有一些其餘的方法能夠使用:code
prettyPrint:用自帶格式輸出全部任務信息。blog
getTaskInfo:獲取全部任務的信息,即各個任務的名稱和耗時。(若是想自定義輸出一些內容,或者格式,能夠從這裏獲取全部任務的信息)開發
getTotalTimeMillis:獲取任務總耗時(毫秒)。get
getTotalTimeSeconds:獲取任務總耗時(秒)。ast
getTaskCount:獲取任務總數。class
getLastTaskName:獲取最後一個任務的名稱。
getLastTaskTimeMillis:獲取最後一個任務的耗時(毫秒)。
getLastTaskInfo:獲取最後一個任務的信息,即任務的名稱和耗時。