上海松江區(qū)網(wǎng)站建設(shè)鄭州seo外包平臺(tái)
StopWath是 apache commons lang3 包下的一個(gè)任務(wù)執(zhí)行時(shí)間監(jiān)視器,與我們平時(shí)常用的秒表的行為比較類(lèi)似,我們先看一下其中的一些重要方法:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version>
</dependency>
Apache提供的這個(gè)任務(wù)執(zhí)行監(jiān)視器功能豐富強(qiáng)大,靈活性強(qiáng),如下經(jīng)典實(shí)用案例:
public static void main(String[] args) throws InterruptedException { //創(chuàng)建后立即start,常用????StopWatch?watch?=?StopWatch.createStarted();// StopWatch watch = new StopWatch(); // watch.start(); Thread.sleep(1000); System.out.println(watch.getTime()); System.out.println("統(tǒng)計(jì)從開(kāi)始到現(xiàn)在運(yùn)行時(shí)間:" + watch.getTime() + "ms");Thread.sleep(1000); watch.split(); System.out.println("從start到此刻為止的時(shí)間:" + watch.getTime());???System.out.println("從開(kāi)始到第一個(gè)切入點(diǎn)運(yùn)行時(shí)間:"?+?watch.getSplitTime());Thread.sleep(1000); watch.split(); System.out.println("從開(kāi)始到第二個(gè)切入點(diǎn)運(yùn)行時(shí)間:" + watch.getSplitTime()); // 復(fù)位后, 重新計(jì)時(shí) watch.reset(); watch.start(); Thread.sleep(1000); System.out.println("重新開(kāi)始后到當(dāng)前運(yùn)行時(shí)間是:" + watch.getTime()); // 暫停 與 恢復(fù) watch.suspend(); System.out.println("暫停2秒鐘"); Thread.sleep(2000); // 上面suspend,這里要想重新統(tǒng)計(jì),需要恢復(fù)一下 watch.resume(); System.out.println("恢復(fù)后執(zhí)行的時(shí)間是:" + watch.getTime());Thread.sleep(1000);????watch.stop();System.out.println("花費(fèi)的時(shí)間》》" + watch.getTime() + "ms"); // 直接轉(zhuǎn)成s System.out.println("花費(fèi)的時(shí)間》》" + watch.getTime(TimeUnit.SECONDS) + "s");
}