您好,登錄后才能下訂單哦!
這篇文章主要介紹“Springboot之怎么統計代碼執行耗時時間”,在日常操作中,相信很多人在Springboot之怎么統計代碼執行耗時時間問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Springboot之怎么統計代碼執行耗時時間”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
開始 System.currentTimeMillis() 減去 結束 System.currentTimeMillis() 等于 耗時
其實我個人感覺OK的,就這樣就蠻好的,很多項目都是這樣用的。
簡簡單單的挺好。
第一種玩法,spring util 里面提供的 StopWatch
示例代碼:
StopWatch stopWatch = new StopWatch(); stopWatch.start(); //doInsert(); //執行業務等 stopWatch.stop(); System.out.println(stopWatch.getTotalTimeMillis());
效果:
第二種玩法 System.nanoTime()
先不著急看怎么用, 我們看完第一種 StopWatch 的時候, 有沒有小伙伴的思維散發夠的,想著這spring 封裝的統計耗時,自己是怎么實現的?
題外話:
一定要養成這種散發的思維, 很多兄弟朋友都跟我反饋過一些話題,就是說,項目里面沒啥東西可學。
其實,這個很正常, 工作過程不是教導過程,你要自己有 縱向 挖掘 、橫向 散發的 學習思維。
直接點StopWatch 的源碼看一眼, 哦,原理是用的 System.nanoTime() :
System.nanoTime() 代碼使用示例 :
long startTime = System.nanoTime(); doInsert(); //執行業務 long endTime = System.nanoTime(); System.out.println((endTime - startTime));
效果 :
第三種玩法 ,平時偶爾也看到別人這么寫 new Date
示例代碼:
Date startDate = new Date(); // doInsert(); //執行業務等 Date endDate = new Date(); System.out.println((endDate.getTime() - startDate.getTime()));
效果:
省略
ps: StopWatch 其實不僅僅是封了一下耗時統計,這樣也太。。了 。
里面其實封裝了蠻多其他關于時間統計的函數(感興趣的可以單獨去研究研究,特別是參考作者的封裝思路 ):
void start
(“任務名稱”):開始一個任務名稱的計時
void stop()
:停止當前任務的計時
boolean isRunning()
:是否正在計時某任務
long getTotalTimeMillis()
:所有任務的總體執行時間(毫秒單位)
double getTotalTimeSeconds()
:所有任務的總時間(以秒為單位)
long getLastTaskTimeMillis()
:上一個任務的耗時(毫秒單位)
int getTaskCount()
:定時任務的數量
String prettyPrint()
:優美地打印所有任務的詳細耗時情況
StopWatch.TaskInfo[] getTaskInfo()
:包含任務名稱和任務耗時的實體類數組
到此,關于“Springboot之怎么統計代碼執行耗時時間”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。