首頁  >  文章  >  Java  >  Springboot之怎麼統計程式碼執行耗時時間

Springboot之怎麼統計程式碼執行耗時時間

WBOY
WBOY轉載
2023-05-16 08:40:211381瀏覽

    開始  System.currentTimeMillis()  減去  結束  System.currentTimeMillis()  等於  耗時   

    #其實我個人感覺的,就這樣就蠻好的,很多項目都是這樣用的。

    簡簡單單的挺好。

    Springboot之怎麼統計程式碼執行耗時時間

    正文

    ① StopWatch

    第一種玩法,spring util 裡面提供的StopWatch

    #範例程式碼:

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();
    //doInsert();
    //执行业务等
    stopWatch.stop();
    System.out.println(stopWatch.getTotalTimeMillis());

    #: 

    Springboot之怎麼統計程式碼執行耗時時間

    ②  System.nanoTime()

    #②  System.nanoTime()

    第二玩法   System.nanoTime()

    先不急看怎麼用, 我們看完第一種 StopWatch 的時候, 有沒有小夥伴的思維散發夠的,想著這spring 封裝的統計耗時,自己是怎麼實現的?

    題外話:

    一定要養成這種散發的思維, 很多兄弟朋友都跟我反饋過一些話題,就是說,專案裡面沒啥東西可學。 其實,這很正常, 工作過程不是教導過程,你要自己有 縱向 挖掘

    橫向 散發

    的 學習思考。

    直接點

    StopWatch Springboot之怎麼統計程式碼執行耗時時間 的原始碼看一眼, 哦,原理是用的  System.nanoTime() :

    # System.nanoTime() 程式碼使用範例:

            long startTime = System.nanoTime();
            doInsert();
            //执行业务
            long endTime = System.nanoTime();
            System.out.println((endTime - startTime));
    Springboot之怎麼統計程式碼執行耗時時間效果:

    #③ new Date ()

    第三種玩法,平時偶爾也看到別人這麼寫new Date 

    範例程式碼:

            Date startDate = new Date();
           // doInsert();
           //执行业务等
            Date endDate = new Date();
            System.out.println((endDate.getTime() - startDate.getTime()));
    Springboot之怎麼統計程式碼執行耗時時間效果:

    ④  System.currentTimeMillis() 

    省略

    ps: StopWatch 其實不只是封了一下耗時統計,這樣也太。 。了  。
    • 裡面其實封裝了蠻多其他關於時間統計的函數(有興趣的可以單獨去研究研究,特別是參考作者的封裝思路):

    • void start
    • (“任務名稱”):開始一個任務名稱的計時

    • #void stop()
    • :停止目前任務的計時

    • boolean isRunning()
    • :是否正在計時某任務

    • long getTotalTimeMillis()
    • :所有任務的整體執行時間(毫秒單位)

    • double getTotalTimeSeconds()
    • :所有任務的總時間(以秒為單位)

    • #long getLastTaskTimeMillis()
    • :上一個任務的耗時(毫秒單位)

    • int getTaskCount()
    • :計時任務的數量

    • String prettyPrint()
    • :優美地列印所有任務的詳細耗時情況

    • StopWatch.TaskInfo[] getTaskInfo()
    :包含任務名稱和任務耗時的實體類別陣列##########

    以上是Springboot之怎麼統計程式碼執行耗時時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除