中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot之怎么統計代碼執行耗時時間

發布時間:2023-03-16 16:29:56 來源:億速云 閱讀:188 作者:iii 欄目:開發技術

這篇文章主要介紹“Springboot之怎么統計代碼執行耗時時間”,在日常操作中,相信很多人在Springboot之怎么統計代碼執行耗時時間問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Springboot之怎么統計代碼執行耗時時間”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

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

    簡簡單單的挺好。

    Springboot之怎么統計代碼執行耗時時間

    正文

    ① StopWatch

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

    示例代碼:

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();
    //doInsert();
    //執行業務等
    stopWatch.stop();
    System.out.println(stopWatch.getTotalTimeMillis());

    效果: 

    Springboot之怎么統計代碼執行耗時時間

    ②  System.nanoTime()

    第二種玩法   System.nanoTime()

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

    題外話:

    一定要養成這種散發的思維, 很多兄弟朋友都跟我反饋過一些話題,就是說,項目里面沒啥東西可學。 

    其實,這個很正常, 工作過程不是教導過程,你要自己有 縱向 挖掘 橫向 散發的 學習思維。 

    直接點StopWatch  的源碼看一眼, 哦,原理是用的  System.nanoTime() :

    Springboot之怎么統計代碼執行耗時時間

     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之怎么統計代碼執行耗時時間”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    仲巴县| 茂名市| 望都县| 阿图什市| 台安县| 政和县| 林甸县| 阳高县| 石楼县| 永平县| 山东省| 神池县| 景宁| 修水县| 西贡区| 尉氏县| 志丹县| 海安县| 抚州市| 垫江县| 紫云| 苏尼特左旗| 宁都县| 枝江市| 荥经县| 昂仁县| 桃园县| 中超| 南开区| 绥滨县| 宁武县| 扎赉特旗| 晋中市| 明星| 砚山县| 龙州县| 渭源县| 光山县| 泰顺县| 环江| 达州市|