Guava-1.21 类StopWatch

全路径名:

com.google.common.base
** Stopwatch**

声明

@Beta
@GwtCompatible(emulated=true) public final class Stopwatch extends Object

简介

用来计算经过的时间(精确到纳秒)。
这个类比调用System.nanoTime()优势在于:

  • 性能
  • 表现形式更丰富

构造器

  • Stopwatch()
    创建(但不启动)一个新的stopwatch对象,用的是System.nanoTime()作为时间资源。
  • Stopwatch(Tick tick)
    创建(但不启动)一个新的stopwatch对象,用的是特定的时间资源。

方法

isRunning
public boolean isRunning()

如果start方法被调用。stop方法还没有调用。返回真。

start
@CanIgnoreReturnValue
  public Stopwatch start()

启动stopwatch。

stop
@CanIgnoreReturnValue
public Stopwatch stop()

停止stopwatch,读取的话将会返回经历过的时间。

reset
@CanIgnoreReturnValue
public Stopwatch reset() 

把stopwatch经过的时间设置为零,状态设置为停止。

elapsed
public long elapsed(TimeUnit desiredUnit)

用特定的格式返回这个stopwatch经过的时间。

toString
@Override
public String toString()

返回字符串形式的elapsed time。

例子

public class StopWatchTest {

    public static void main(String[] args) throws Exception{
        // 创建stopwatch并开始计时
        Stopwatch stopwatch = Stopwatch.createStarted();
        Thread.sleep(1980);
        // 以秒打印从计时开始至现在的所用时间,向下取整
        System.out.println(stopwatch.elapsed(TimeUnit.SECONDS)); // 1
        // 停止计时
        stopwatch.stop();
        System.out.println(stopwatch.elapsed(TimeUnit.SECONDS)); // 1
        // 再次计时
        stopwatch.start();
        Thread.sleep(100);
        System.out.println(stopwatch.elapsed(TimeUnit.SECONDS)); // 2
        // 重置并开始
        stopwatch.reset().start();
        Thread.sleep(1030);
        // 检查是否运行
        System.out.println(stopwatch.isRunning()); // true
        long millis = stopwatch.elapsed(TimeUnit.MILLISECONDS); // 1031
        System.out.println(millis);
        // 打印
        System.out.println(stopwatch.toString()); // 1.03 s
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 问题 一直在使用如下代码进行程序耗时计算和性能调试,但是对其返回值代表的具体意义却不甚了解。 查看源码发现其代码并...
    zhuke阅读 9,944评论 0 12
  • 是什么 Stopwatch 解释为计时器,又称秒表、停表,很明显它是记录时间的。 如何使用 安卓使用: 看了上面这...
    程序员驿站阅读 5,576评论 0 0
  • 你喜欢去动物园吗?我家就是个动物园!什么?你不相信?那就来我家看看吧! 妈妈----老黄牛 说起老黄牛的勤劳,妈妈...
    城自知阅读 3,808评论 1 2
  • 每个人心里大概都有一个回忆起来微微一颤的名字,可能你对这个名字说了好多次再见,幻想着真的能够再也不见,可总是会在某...
    肥熊胖猫阅读 4,678评论 0 0

友情链接更多精彩内容