国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java語言中兩種常用的計時器

IT那活兒 / 829人閱讀
Java語言中兩種常用的計時器
點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了?。?!

代碼中經常會用到一些計時器來記錄某個邏輯的使用時間,那么哪種計時器好用且優雅,下面我們來使用和對比一下。

System.currentTimeMillis()

首先是我們最常用的System.currentTimeMillis(),相信非常多的人看到計時器的第一反應就是想到他,這個計時器表較簡單功能單一,可是如果一個方法中用多了也很讓人感覺冗余,看起來也并不是很優雅。

StopWatch工具類

那么StopWatch這個工具類呢我也是最近才接觸的,重點推薦大家使用。它是org.springframework.util包下的一個工具類,那么對于它的用法呢我們今天來簡單的研究一下。

首先進入StopWatch類,看一下類成員以及方法,熟悉一下方便我們接下來的使用。它的類成員:

  • taskList
  • startTimeMillis
  • currentTaskName
  • lastTaskInfo
  •  taskCount
  • totalTimeMillis
我們大致可以看出這個類會統計任務數,總耗時等信息,接下來我們開始使用。
首先引入jar包,Spring Boot已經引入該包。

<dependency>
<groupId>org.springframeworkgroupId>

<artifactId>spring-coreartifactId>
<version>${spring.version}version>
dependency>
簡單試用一下統計用時等方法:
這個使用時需要注意獲取用時統計、任務數量需要在stop方法之后不然將無法獲取。
然而有些方法就需要在stop方法之前使用,比如說currentTaskName獲取當前正在執行的任務名如下圖:
當然還有更好用的方法:prettyPrint獲取任務執行信息如下圖,這個方法看起來就很高大上
那么來一個多個任務統計用時和數量的例子,如下圖:
從統計結果可以看出,這里統計的還是比較詳細的。
StopWatch工具類還有更多好用方法,這里我總結了一下如下圖:

使用StopWatch類時需要注意以下幾點:

  • StopWatch不是設計為線程安全的,并且不使用同步。
  • 一個StopWatch實例一次只能開啟一個task,不能同時start多個task,在該task還沒stop之前不能start一個新的task,必須在該task stop之后才能開啟新的task。

本文作者:段席超(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129347.html

相關文章

  • three.js兩種常用攝像機模式

    摘要:中常用的有兩種,透視投影相機與正交投影相機。這里的投影是指將三維空間中的物體坐標投影到二維平面上。正交投影是只考慮所有點的坐標,每一個二維空間中的點都是與軸平行的直線在觀察平面上的投影。所看到的物體大小不會受到距離遠近的影響。 three.js中常用的camera有兩種,透視投影相機(PerspectiveCamera)與正交投影相機(OrthographicCamera)。這里的投影...

    fish 評論0 收藏0
  • 數據庫之事務與并發控制

    摘要:悲觀鎖非常影響并發性能,所以謹慎使用樂觀鎖假定當前事務操縱數據資源時,不會有其他事務同時訪問該數據資源,樂觀鎖使用由程序邏輯控制的技術來避免可能出現的并發問題。讀取出數據時,將此版本號一同讀出,之后更新時,對此版本號加一。 一.事務的特性(ACID) 1.原子性:單個或多個操作為一個整體,要么全執行,要么全不執行(回滾) 2.一致性:事務執行是從一個一致性狀態轉為另一個一致性狀態 ...

    aaron 評論0 收藏0
  • Message Loop 原理及應用

    摘要:此文已由作者王榮濤授權網易云社區發布。新消息的添加可能來自于本線程也可能來自于其他線程,甚至包括其他進程中的線程。另一種結束消息循環的方式是強制中止其所屬線程的執行,當然了,這是極不推薦的。 此文已由作者王榮濤授權網易云社區發布。 歡迎訪問網易云社區,了解更多網易技術產品運營經驗。 Message loop,即消息循環,在不同系統或者機制下叫法也不盡相同,有被叫做event loop,...

    時飛 評論0 收藏0
  • GET、POST請求區別分析

    摘要:對數據長度的限制是的。安全性與相比,的安全性較差,因為所發送的數據是的一部分。和只是協議中兩種請求方式,而協議是基于的應用層協議,無論還是,用的都是同一個傳輸層協議,所以在傳輸上,沒有區別。 1 前言 眾所周知,在我們開發項目的過程中,關于POST與GET請求是我們不得不掌握的知識,那么它們兩者之間又有什么區別呢?接下來,我們一起從HTTP報文等角度來探討學習一下關于兩者的不同 2 H...

    Baoyuan 評論0 收藏0
  • IBM Bluemix開啟云開發時代

    摘要:運行時環境,又叫構建包上提供的一系列運行時環境包括圖中顯示的七種命名構建包,外加已批準用于的其他任何構建包。開發運營服務上的八種開發運營服務包括來自的五種服務和來自第三方的三種服務。 去年夏天我測評了Cloud Foundry PaaS(平臺即服務),當時著眼于Pivotal和ActiveState這兩種解決開源方案。這回測試時,我將關注IBM Bluemix,這是在SoftLayer上托管...

    cocopeak 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<