利用StopWatch類監控Java代碼執行時間並分析性能


springframework中的StopWatch類可以測量一個時間間隔的運行時間,也可以測量多個時間間隔的總運行時間。一般用來測量代碼執行所用的時間或者計算性能數據,在優化代碼性能上可以使用Stopwatch來測量時間。common.lang包里面也有這個工具,用法類似,但是不能任務名稱,查看結果不方便。

示例如下

@Test
public void test7() throws Exception {
    StopWatch watch = new StopWatch("測試運行時間");
    watch.start("任務1");
    TeaPersonCommentModel one = new TeaPersonCommentModel();
    one.setId("1");
    one.setContent("拼語1");
    watch.stop();
    watch.start("任務2");
    List<TeaPersonCommentModel> test = Lists.newArrayList();
    Optional<List<TeaPersonCommentModel>> testOptionl = Optional.ofNullable(test);
    watch.stop();
    System.out.println(watch.prettyPrint());
}

執行結果如下:

StopWatch '測試運行時間': running time (millis) = 15
-----------------------------------------
ms     %     Task name
-----------------------------------------
00000  000%  任務1
00015  100%  任務2

三列分別為監控代碼段的花費時間(毫秒)、百分比、名稱。可以很直觀看出每段代碼的運行時間以及所占比分比,幫助我們快速找到主要性能問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM