成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java語言中兩種常用的計(jì)時(shí)器

IT那活兒 / 843人閱讀
Java語言中兩種常用的計(jì)時(shí)器
點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

代碼中經(jīng)常會(huì)用到一些計(jì)時(shí)器來記錄某個(gè)邏輯的使用時(shí)間,那么哪種計(jì)時(shí)器好用且優(yōu)雅,下面我們來使用和對(duì)比一下。

System.currentTimeMillis()

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

StopWatch工具類

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

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

  • taskList
  • startTimeMillis
  • currentTaskName
  • lastTaskInfo
  •  taskCount
  • totalTimeMillis
我們大致可以看出這個(gè)類會(huì)統(tǒng)計(jì)任務(wù)數(shù),總耗時(shí)等信息,接下來我們開始使用。
首先引入jar包,Spring Boot已經(jīng)引入該包。

<dependency>
<groupId>org.springframeworkgroupId>

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

使用StopWatch類時(shí)需要注意以下幾點(diǎn):

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

本文作者:段席超(上海新炬王翦團(tuán)隊(duì))

本文來源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129347.html

相關(guān)文章

  • three.js兩種常用攝像機(jī)模式

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

    fish 評(píng)論0 收藏0
  • 數(shù)據(jù)庫之事務(wù)與并發(fā)控制

    摘要:悲觀鎖非常影響并發(fā)性能,所以謹(jǐn)慎使用樂觀鎖假定當(dāng)前事務(wù)操縱數(shù)據(jù)資源時(shí),不會(huì)有其他事務(wù)同時(shí)訪問該數(shù)據(jù)資源,樂觀鎖使用由程序邏輯控制的技術(shù)來避免可能出現(xiàn)的并發(fā)問題。讀取出數(shù)據(jù)時(shí),將此版本號(hào)一同讀出,之后更新時(shí),對(duì)此版本號(hào)加一。 一.事務(wù)的特性(ACID) 1.原子性:?jiǎn)蝹€(gè)或多個(gè)操作為一個(gè)整體,要么全執(zhí)行,要么全不執(zhí)行(回滾) 2.一致性:事務(wù)執(zhí)行是從一個(gè)一致性狀態(tài)轉(zhuǎn)為另一個(gè)一致性狀態(tài) ...

    aaron 評(píng)論0 收藏0
  • Message Loop 原理及應(yīng)用

    摘要:此文已由作者王榮濤授權(quán)網(wǎng)易云社區(qū)發(fā)布。新消息的添加可能來自于本線程也可能來自于其他線程,甚至包括其他進(jìn)程中的線程。另一種結(jié)束消息循環(huán)的方式是強(qiáng)制中止其所屬線程的執(zhí)行,當(dāng)然了,這是極不推薦的。 此文已由作者王榮濤授權(quán)網(wǎng)易云社區(qū)發(fā)布。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營經(jīng)驗(yàn)。 Message loop,即消息循環(huán),在不同系統(tǒng)或者機(jī)制下叫法也不盡相同,有被叫做event loop,...

    時(shí)飛 評(píng)論0 收藏0
  • GET、POST請(qǐng)求區(qū)別分析

    摘要:對(duì)數(shù)據(jù)長(zhǎng)度的限制是的。安全性與相比,的安全性較差,因?yàn)樗l(fā)送的數(shù)據(jù)是的一部分。和只是協(xié)議中兩種請(qǐng)求方式,而協(xié)議是基于的應(yīng)用層協(xié)議,無論還是,用的都是同一個(gè)傳輸層協(xié)議,所以在傳輸上,沒有區(qū)別。 1 前言 眾所周知,在我們開發(fā)項(xiàng)目的過程中,關(guān)于POST與GET請(qǐng)求是我們不得不掌握的知識(shí),那么它們兩者之間又有什么區(qū)別呢?接下來,我們一起從HTTP報(bào)文等角度來探討學(xué)習(xí)一下關(guān)于兩者的不同 2 H...

    Baoyuan 評(píng)論0 收藏0
  • IBM Bluemix開啟云開發(fā)時(shí)代

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

    cocopeak 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<