JAVA中用StopWatch計算代碼耗時的方法

  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:獲取最後一個任務的信息,即任務的名稱和耗時。

相關文章
相關標籤/搜索