业务代码或者算法的性能一直是我们重要的关注点之一。而衡量性能的重要指标之一就是时间复杂度。我们除了用大O表示法外,有时还需要直观地通过程序的实际运行时间衡量算法的性能。今天我们就介绍一下在计时方面十分重要的工具类StopWatch。
StopWatch是不在java标准包中的,你可以在以下两个程序包中找到StopWatch工具类
- org.apache.commons.lang3.time
- Apache Commons Lang提供了一些Java标准库中没有提供的类与方法,尤其是在String操作方法,基础数值方法,对象引用,并发行,创建及序列化,系统属性等方面提供了强大的功能
- org.springframework.util
- spring框架为现代java企业级应用提供了一个简洁并且富有表达能力的可以运行在任何部署平台的编程与设置模型
现在分别讲解一下两程序包中的StopWatch工具类的具体用法。
Apache Commons Lang中的StopWatch
Apache Commons Lang中的StopWatch与我们平时常用的秒表的行为比较类似,我们先看一下其中的一些重要方法
- 构造器:可以使用无参构造器,也可以使用传入了一个String类型的message的构造器,创建一个有字符串表示的秒表对象
- 方法
- start():开始计时
- stop():停止计时
- suspend():暂停秒表
- resume()&