最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring計(jì)時器StopWatch的具體使用

 更新時間:2023年06月28日 15:04:37   作者:騎個小蝸牛  
本文主要介紹了Spring計(jì)時器StopWatch的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

StopWatch介紹

StopWatch類是Spring框架中用于測量代碼執(zhí)行時間的工具類,它提供了一系列屬性來記錄監(jiān)測信息。

本文基于spring-boot-starter-web:2.2.2RELEASE版本。

源碼:

public class StopWatch {
? ? private final String id;
? ? private boolean keepTaskList = true;
? ? private final List<StopWatch.TaskInfo> taskList = new LinkedList<>();
? ? private long startTimeMillis;
? ? @Nullable
? ? private String currentTaskName;
? ? @Nullable
? ? private StopWatch.TaskInfo lastTaskInfo;
? ? private int taskCount;
? ? private long totalTimeMillis;
?? ?......方法略
?? ?public static final class TaskInfo {
?? ??? ?private final String taskName;
?? ??? ?private final long timeNanos;
?? ?}
}

StopWatch屬性詳解

屬性描述
id表示該StopWatch對象的唯一標(biāo)識符,可以通過構(gòu)造函數(shù)傳入。
keepTaskList表示是否保留所有記錄的監(jiān)測任務(wù),,默認(rèn)為true。如果該值為true,則程序可以通過getTaskInfo()方法獲取所有監(jiān)測任務(wù)的詳細(xì)信息,否則僅可以獲取最后一次監(jiān)測任務(wù)的詳細(xì)信息。
taskList用于記錄所有的監(jiān)測任務(wù)信息,只有keepTaskList屬性值為true時才記錄任務(wù)信息,該值在stop()方法調(diào)用時添加一條任務(wù)信息。
currentTaskName表示當(dāng)前正在執(zhí)行的監(jiān)測任務(wù)名稱,該值在start()方法調(diào)用時設(shè)置。
lastTaskInfo表示最后一次執(zhí)行的監(jiān)測任務(wù)的詳細(xì)信息,包括任務(wù)名稱、執(zhí)行時間等,該值在stop()方法調(diào)用時設(shè)置。
taskCount表示執(zhí)行的監(jiān)測任務(wù)數(shù)目,該值在stop()方法調(diào)用時值+1。
totalTimeMillis表示該StopWatch對象記錄的所有監(jiān)測任務(wù)的總執(zhí)行時間,單位為毫秒,該值在stop()方法調(diào)用時值+當(dāng)前任務(wù)的執(zhí)行時間。
TaskInfo.taskName任務(wù)名稱。
TaskInfo.timeNanos任務(wù)執(zhí)行時間。

StopWatch方法詳解

方法描述
void setKeepTaskList(boolean keepTaskList)設(shè)置是否保留所有記錄的監(jiān)測任務(wù),默認(rèn)為true。如果該值為true,則程序可以通過getTaskInfo()方法獲取所有監(jiān)測任務(wù)的詳細(xì)信息。
void start()開始一個新的監(jiān)測任務(wù),可設(shè)置任務(wù)名稱。記錄當(dāng)前時間和任務(wù)名稱。
void stop()結(jié)束當(dāng)前監(jiān)測任務(wù)。記錄任務(wù)執(zhí)行時間,更新總執(zhí)行時間和任務(wù)數(shù)量。
String getId()獲取唯一標(biāo)識符。
String currentTaskName()獲取當(dāng)前正在運(yùn)行的監(jiān)測任務(wù)名稱。
TaskInfo getLastTaskInfo()獲取最后一次執(zhí)行的監(jiān)測任務(wù)的詳細(xì)信息,包括任務(wù)名稱、開始時間、結(jié)束時間和執(zhí)行時間等。
String getLastTaskName()獲取最后一次執(zhí)行的監(jiān)測任務(wù)的任務(wù)名稱
long getLastTaskTimeMillis()獲取最后一次執(zhí)行的監(jiān)測任務(wù)的執(zhí)行時間,單位毫秒
long getLastTaskTimeNanos()獲取最后一次執(zhí)行的監(jiān)測任務(wù)的執(zhí)行時間,單位納秒
int getTaskCount()獲取已執(zhí)行的監(jiān)測任務(wù)數(shù)目
TaskInfo[] getTaskInfo()獲取所有監(jiān)測任務(wù)信息,僅在keepTaskList屬性為true時有效。
double getTotalTimeSeconds()獲取所有監(jiān)測任務(wù)的總執(zhí)行時間,單位為秒。
long getTotalTimeMillis()獲取所有監(jiān)測任務(wù)的總執(zhí)行時間,單位為毫秒。
long getTotalTimeNanos()獲取所有監(jiān)測任務(wù)的總執(zhí)行時間,單位為納秒。
boolean isRunning()判斷當(dāng)前StopWatch對象是否正在執(zhí)行監(jiān)測任務(wù)。
String shortSummary()以字符串形式輸出所有監(jiān)測任務(wù)的簡要信息,包括任務(wù)數(shù)目和總執(zhí)行時間。
String prettyPrint()以字符串形式輸出所有監(jiān)測任務(wù)的執(zhí)行時間和詳細(xì)信息。

StopWatch使用示例

? ? public static void main(String[] args) throws InterruptedException {
? ? ? ? StopWatch stopWatch = new StopWatch();
? ? ? ? stopWatch.start("task1");
? ? ? ? System.out.println("當(dāng)前任務(wù)名稱:"+stopWatch.currentTaskName());
? ? ? ? Thread.sleep(1000);
? ? ? ? stopWatch.stop();
? ? ? ? System.out.println("task1耗時毫秒:"+stopWatch.getLastTaskTimeMillis());
? ? ? ? stopWatch.start("task2");
? ? ? ? System.out.println("當(dāng)前任務(wù)名稱:"+stopWatch.currentTaskName());
? ? ? ? Thread.sleep(2000);
? ? ? ? stopWatch.stop();
? ? ? ? System.out.println("task2耗時毫秒:"+stopWatch.getLastTaskTimeMillis());
? ? ? ? System.out.println("總?cè)蝿?wù)數(shù):"+stopWatch.getTaskCount());
? ? ? ? System.out.println("總耗時毫秒:"+stopWatch.getTotalTimeMillis());
? ? ? ? System.out.println("所有任務(wù)簡要信息:\n"+stopWatch.shortSummary());
? ? ? ? System.out.println("所有任務(wù)詳細(xì)信息:\n"+stopWatch.prettyPrint());
? ? }

輸出:

當(dāng)前任務(wù)名稱:task1
task1耗時毫秒:1013
當(dāng)前任務(wù)名稱:task2
task2耗時毫秒:2014
總?cè)蝿?wù)數(shù):2
總耗時毫秒:3027
所有任務(wù)簡要信息:
StopWatch '': running time = 3027555400 ns
所有任務(wù)詳細(xì)信息:
StopWatch '': running time = 3027555400 ns
---------------------------------------------
ns         %     Task name
---------------------------------------------
1013462900  033%  task1
2014092500  067%  task2

到此這篇關(guān)于Spring計(jì)時器StopWatch的具體使用的文章就介紹到這了,更多相關(guān)Spring StopWatch內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC攔截器快速掌握上篇

    SpringMVC攔截器快速掌握上篇

    攔截器(Interceptor)是一種動態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動態(tài)攔截控制器方法的執(zhí)行。本文將詳細(xì)講講SpringMVC中攔截器的概念及入門案例,感興趣的可以嘗試一下
    2022-08-08
  • 使用maven如何將項(xiàng)目中的test代碼打包進(jìn)jar中

    使用maven如何將項(xiàng)目中的test代碼打包進(jìn)jar中

    這篇文章主要介紹了使用maven如何將項(xiàng)目中的test代碼打包進(jìn)jar中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用SpringAI整合Ollama實(shí)現(xiàn)工具鏈調(diào)用功能

    使用SpringAI整合Ollama實(shí)現(xiàn)工具鏈調(diào)用功能

    文章介紹了SpringAI的ToolCalling能力,允許大模型自主調(diào)用外部工具以完成多步驟任務(wù),具體而言,通過@Tool注解標(biāo)記方法,SpringAI自動解析生成JSONSchema,@Tools注解注冊多個工具,模型可自主選擇調(diào)用順序和組合,需要的朋友可以參考下
    2026-05-05
  • IDEA創(chuàng)建Spring項(xiàng)目無法選擇Java8的問題及解決

    IDEA創(chuàng)建Spring項(xiàng)目無法選擇Java8的問題及解決

    文章描述了在使用Spring創(chuàng)建項(xiàng)目時遇到的問題,通過將服務(wù)器地址從https://start.spring.io/替換為https://start.aliyun.com/,成功解決了無法選擇Java8的問題
    2025-01-01
  • Java中四種引用詳解

    Java中四種引用詳解

    這篇文章主要為大家介紹了Java中的四種引用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 聊聊ResourceBundle和properties讀取配置文件的區(qū)別

    聊聊ResourceBundle和properties讀取配置文件的區(qū)別

    這篇文章主要介紹了ResourceBundle和properties讀取配置文件的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java數(shù)據(jù)結(jié)構(gòu)之散列表詳解

    Java數(shù)據(jù)結(jié)構(gòu)之散列表詳解

    散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu)。本文將為大家具體介紹一下散列表的原理及其代碼實(shí)現(xiàn)
    2022-01-01
  • logback輸出日志屏蔽quartz的debug等級日志方式

    logback輸出日志屏蔽quartz的debug等級日志方式

    這篇文章主要介紹了logback輸出日志屏蔽quartz的debug等級日志方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 最新評論

    蓬溪县| 大厂| 柳州市| 榆社县| 西平县| 宝兴县| 遵义市| 遂溪县| 乐陵市| 瑞昌市| 隆回县| 漠河县| 平顺县| 油尖旺区| 布尔津县| 马公市| 金阳县| 吴江市| 精河县| 湖北省| 北票市| 丰宁| 中牟县| 辽宁省| 高雄市| 安丘市| 镇赉县| 西吉县| 东山县| 旬邑县| 洪泽县| 东安县| 贵定县| 郎溪县| 木兰县| 玉林市| 永安市| 西和县| 绥棱县| 道孚县| 正定县|