亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring計時器StopWatch的具體使用

 更新時間:2023年06月28日 15:04:37   作者:騎個小蝸牛  
本文主要介紹了Spring計時器StopWatch的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(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ù),,默認為true。如果該值為true,則程序可以通過getTaskInfo()方法獲取所有監(jiān)測任務(wù)的詳細信息,否則僅可以獲取最后一次監(jiān)測任務(wù)的詳細信息。
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ù)的詳細信息,包括任務(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ù),默認為true。如果該值為true,則程序可以通過getTaskInfo()方法獲取所有監(jiān)測任務(wù)的詳細信息。
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)前正在運行的監(jiān)測任務(wù)名稱。
TaskInfo getLastTaskInfo()獲取最后一次執(zhí)行的監(jiān)測任務(wù)的詳細信息,包括任務(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í)行時間和詳細信息。

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ù)詳細信息:\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ù)詳細信息:
StopWatch '': running time = 3027555400 ns
---------------------------------------------
ns         %     Task name
---------------------------------------------
1013462900  033%  task1
2014092500  067%  task2

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

相關(guān)文章

  • SpringBoot如何使用過濾器進行XSS防御

    SpringBoot如何使用過濾器進行XSS防御

    想對全局的請求都進行XSS防御可以使用servlet中的過濾器或者spring mvc中的攔截器,下面我們就來看看如何使用servlet中的過濾器進行XSS防御吧
    2024-11-11
  • JAVA基礎(chǔ)面試題整理

    JAVA基礎(chǔ)面試題整理

    在本篇文章里小編給大家整理的是關(guān)于JAVA基礎(chǔ)面試題的整理內(nèi)容,需要的朋友們可以參考下。
    2019-10-10
  • springboot使JUL實現(xiàn)日志管理功能

    springboot使JUL實現(xiàn)日志管理功能

    這篇文章主要介紹了springboot使JUL實現(xiàn)日志管理功能,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • java中獲取hashmap中的所有key方式

    java中獲取hashmap中的所有key方式

    這篇文章主要介紹了java中獲取hashmap中的所有key方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java實現(xiàn)跳躍表的示例詳解

    Java實現(xiàn)跳躍表的示例詳解

    跳表全稱叫做跳躍表,簡稱跳表,是一個隨機化的數(shù)據(jù)結(jié)構(gòu),實質(zhì)就是一種可以進行二分查找的有序鏈表。本文將利用Java語言編寫一個跳表,需要的可以參考一下
    2022-05-05
  • 高效的java版排列組合算法

    高效的java版排列組合算法

    這篇文章主要為大家詳細介紹了高效的java版排列組合算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java將Word轉(zhuǎn)換成PDF的常用用法

    Java將Word轉(zhuǎn)換成PDF的常用用法

    Java開發(fā)人員在處理文檔轉(zhuǎn)換時,常常需要將Word或Excel文檔轉(zhuǎn)換為PDF格式,以便于更好地保持格式一致性、便于分發(fā)和打印,這篇文章主要給大家介紹了關(guān)于Java將Word轉(zhuǎn)換成PDF的常用用法,需要的朋友可以參考下
    2024-08-08
  • Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys)

    Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys)

    這篇文章主要介紹了Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • MyBatis中調(diào)用存儲過程和函數(shù)的實現(xiàn)示例

    MyBatis中調(diào)用存儲過程和函數(shù)的實現(xiàn)示例

    在MyBatis中調(diào)用存儲過程和函數(shù)是一個相對高級的特性,本文主要介紹了MyBatis中調(diào)用存儲過程和函數(shù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java獲取接口的所有實現(xiàn)類方法總結(jié)示例

    Java獲取接口的所有實現(xiàn)類方法總結(jié)示例

    這篇文章主要給大家介紹了關(guān)于Java獲取接口的所有實現(xiàn)類方法的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06

最新評論