国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java中StopWatch秒表的用法詳解 | 自定義和Apache Commons實(shí)現(xiàn)

Java StopWatch秒表,Java自定義秒表,Apache Commons StopWatch,Java計(jì)時(shí)工具

在本篇文章中,我們將深入研究在Java中創(chuàng)建并應(yīng)用秒表的方法,特別關(guān)注StopWatch秒表在Java中的使用。秒表是衡量方法執(zhí)行時(shí)間的便捷工具,有助于追蹤各部分在請(qǐng)求處理中所消耗的時(shí)間。

1. Java 8中實(shí)現(xiàn)自定義StopWatch的方法

自Java 8開(kāi)始,我們可以利用`java.time.Instant`類以納秒精度記錄當(dāng)前時(shí)間。為了計(jì)算程序操作的執(zhí)行時(shí)間,我們能夠捕獲程序執(zhí)行的開(kāi)始和結(jié)束時(shí)間。

Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
// ...
stopwatch.stop();
long millis = stopwatch.getElapsedTime();
long nanos = stopwatch.getElapsedTime(TimeUnit.NANOSECONDS);

通過(guò)比較開(kāi)始時(shí)間和結(jié)束時(shí)間之間的差異,我們可以計(jì)算程序的執(zhí)行時(shí)間。為了實(shí)現(xiàn)自定義秒表,我們創(chuàng)建了一個(gè)`Stopwatch`類,它在調(diào)用`start()`和`stop()`方法時(shí)記錄開(kāi)始和結(jié)束時(shí)間。如果未調(diào)用`stop()`方法,則返回從調(diào)用`start()`方法開(kāi)始經(jīng)過(guò)的時(shí)間。

public final class Stopwatch {
  private Instant startTime;
  private Instant endTime;
  private boolean running;
  // Methods: start(), stop(), getElapsedDuration(), getElapsedTime(), getElapsedTime(TimeUnit)
}

2. Apache Commons的StopWatch用法

Apache Commons Lang3庫(kù)提供了`org.apache.commons.lang3.time.StopWatch`類的內(nèi)置實(shí)現(xiàn),我們可以直接引入使用。其使用模式與自定義秒表類似,并提供以下額外功能:

import org.apache.commons.lang3.time.StopWatch;
Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
// ...
stopwatch.stop();
long millis = stopwatch.getElapsedTime();
long nanos = stopwatch.getElapsedTime(TimeUnit.NANOSECONDS);

`StopWatch`還提供`suspend()`和`resume()`方法來(lái)暫停和恢復(fù),使得能夠使用同一秒表實(shí)例來(lái)計(jì)算代碼不同部分的執(zhí)行時(shí)間。此外,其具有方便的額外功能如`split()`、`unsplit()`和`createStarted()`方法。需要注意的是,這個(gè)秒表不具備線程安全性。

3. 總結(jié)

本文簡(jiǎn)要介紹了在Java中實(shí)現(xiàn)和使用秒表功能的方法。我們展示了如何為基礎(chǔ)用例創(chuàng)建自定義秒表實(shí)現(xiàn),也提到了在高級(jí)應(yīng)用場(chǎng)景下應(yīng)該選擇使用Apache Commons StopWatch類。文章來(lái)源地址http://www.zghlxwxcb.cn/article/718.html

到此這篇關(guān)于Java中StopWatch秒表的用法詳解 | 自定義和Apache Commons實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/718.html

如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)聯(lián)系站長(zhǎng)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用Apache Commons Pool2創(chuàng)建Java對(duì)象池

    在Java應(yīng)用程序中,頻繁地創(chuàng)建和銷毀對(duì)象會(huì)消耗大量的內(nèi)存和CPU資源,影響應(yīng)用程序的性能和可伸縮性。為了解決這個(gè)問(wèn)題,我們可以使用對(duì)象池技術(shù),將對(duì)象存儲(chǔ)在池中,在需要的時(shí)候從池中獲取,使用完畢后將對(duì)象歸還到池中。Apache Commons Pool2是一個(gè)流行的開(kāi)源對(duì)象池實(shí)

    2023年04月08日
    瀏覽(34)
  • JAVA深化篇_26——Apache commons-io工具包的使用

    Apache基金會(huì)介紹 Apache軟件基金會(huì)(也就是Apache Software Foundation,簡(jiǎn)稱為ASF),是專門為支持開(kāi)源軟件項(xiàng)目而辦的一個(gè)非盈利性組織。在它所支持的Apache項(xiàng)目與子項(xiàng)目中,所發(fā)行的軟件產(chǎn)品都遵循Apache許可證(Apache License)。 官方網(wǎng)址為:www.apache.org 。 很多著名的Java開(kāi)源項(xiàng)目

    2024年02月06日
    瀏覽(68)
  • java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream

    java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream

    一、問(wèn)題現(xiàn)象 在導(dǎo)出 Excel 過(guò)程中,程序報(bào)錯(cuò)如下: 二、問(wèn)題原因 通過(guò)報(bào)錯(cuò)信息可以看出,這個(gè)異常通常出現(xiàn)在你在代碼里使用了 org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream 這個(gè)類,但是該類所在的依賴包 commons-io 并沒(méi)有被引入或不存在。 三、解決方案 解決這個(gè)問(wèn)題

    2024年02月10日
    瀏覽(39)
  • 錯(cuò)誤-maven工程,程序包org.apache.commons.xxx不存在,Java:不支持發(fā)行版本5

    錯(cuò)誤-maven工程,程序包org.apache.commons.xxx不存在,Java:不支持發(fā)行版本5

    因?yàn)樽钚碌膇dea界面中文支持較好,就更新了idea,但是發(fā)現(xiàn)在導(dǎo)入以前的項(xiàng)目時(shí)報(bào)了兩個(gè)錯(cuò)誤 程序包org.apache.commons.xxx不存在, Java:不支持發(fā)行版本5 那就逐個(gè)解決一下 原因就一個(gè),從Java 9開(kāi)始,以后的編譯器無(wú)法再生成Java 5二進(jìn)制文件 Java及其虛擬機(jī)高度向后兼容,可以使

    2024年02月01日
    瀏覽(38)
  • 報(bào)錯(cuò)Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/io

    報(bào)錯(cuò)Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/io

    報(bào)錯(cuò): 原因 :這里version 版本未指定,去遠(yuǎn)程倉(cāng)庫(kù)找最新發(fā)布版本的構(gòu)件,可能會(huì)沖突 先根據(jù)version版本去本地倉(cāng)庫(kù)找,如果本地倉(cāng)庫(kù)找不到,再判斷版本號(hào)是否為明確版本號(hào),如果版本號(hào)明確,會(huì)從遠(yuǎn)程倉(cāng)庫(kù)下載相應(yīng)版本的依賴 如果版本號(hào)不明確,如 RELEASE、LATEST 和 SNAP

    2024年04月12日
    瀏覽(40)
  • apache commons-dbcp Apache Commons DBCP 軟件實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池 commons-dbcp2

    許多Apache項(xiàng)目支持與關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行交互。為每個(gè)用戶創(chuàng)建一個(gè)新連接可能很耗時(shí)(通常需要多秒鐘的時(shí)鐘時(shí)間),以執(zhí)行可能需要毫秒級(jí)時(shí)間的數(shù)據(jù)庫(kù)事務(wù)。對(duì)于一個(gè)公開(kāi)托管在互聯(lián)網(wǎng)上的應(yīng)用程序,在同時(shí)在線用戶數(shù)量可能非常大的情況下,為每個(gè)用戶打開(kāi)一個(gè)連接可

    2024年03月17日
    瀏覽(33)
  • Apache Commons Text 庫(kù)簡(jiǎn)介

    簡(jiǎn)單地說(shuō),Apache Commons Text 庫(kù)包含許多有用的實(shí)用程序方法來(lái)處理 字符串 ,超出了核心 Java 提供的方法。 在這個(gè)快速介紹中,我們將看到Apache Commons Text是什么,它的用途,以及使用庫(kù)的一些實(shí)際示例。 讓我們首先將以下 Maven 依賴項(xiàng)添加到我們的 pom.xml : 您可以在Maven 中央

    2024年02月13日
    瀏覽(76)
  • Apache Commons開(kāi)源的工具庫(kù)介紹

    ????????Apache Commons 是 Apache 軟件基金會(huì)主持的一個(gè)項(xiàng)目,旨在提供一系列可重用的 Java 組件。這些組件覆蓋了從數(shù)據(jù)封裝、文本處理到網(wǎng)絡(luò)通信等各個(gè)方面,是 Java 開(kāi)發(fā)中常用的一系列工具庫(kù)。Apache Commons 項(xiàng)目下的各個(gè)庫(kù)通常以 \\\"commons-\\\" 開(kāi)頭命名,例如 Commons Lang、Commo

    2024年02月21日
    瀏覽(33)
  • Mybatis 日志(Apache Commons Logging)

    Mybatis 日志(Apache Commons Logging)

    之前我們介紹了使用JDK Log打印Mybatis運(yùn)行時(shí)的日志;本篇我們介紹使用Apache Commons Logging打印Mybatis運(yùn)行時(shí)的日志。 如何您對(duì)Mybatis中使用JDK Log不太了解,可以參考: Mybatis 日志(JDK Log) https://blog.csdn.net/m1729339749/article/details/132565362 在mybatis-config.xml文件中配置logImpl 在配置文件中,

    2024年02月07日
    瀏覽(36)
  • apache-commons-lang3 的基本使用

    apache-commons-lang3 的基本使用

    更多用法

    2024年01月20日
    瀏覽(52)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包