分享一个统计代码耗时的小工具


我们想要测试一个方法的耗时情况,通常会用下面的一种方式:

long start1 = System.currentTimeMillis();
// 模拟业务逻辑处理
Thread.sleep(300);
long end1 = System.currentTimeMillis();

long start2 = System.currentTimeMillis();
// 模拟业务逻辑处理
Thread.sleep(730);
long end2 = System.currentTimeMillis();

System.out.println("执⾏操作1,耗时:" + (end1 - start1));
System.out.println("执⾏操作2,耗时:" + (end2 - start2));

虽然书写简单,但导致系统中充斥着低级代码,很容易让⼈怀疑你的技术实⼒。
我们的直接想法是能不能写个⼯具类,即统计 代码块 耗时,还能将分析结果直观展示出来
​恰好 Spring框架提供了⼀个⼯具类, org.springframework.util.StopWatch ,提供了轻量级统计功能,对应
的pom⽂件依赖:

<dependency>
	 <groupId>org.springframework</groupId>
	 <artifactId>spring-core</artifactId>
	 <version>5.2.9.RELEASE</version>
</dependency>

或者hutool内也有此工具类

代码:

StopWatch sw = new StopWatch();
sw.start("任务1");
// 模拟业务逻辑处理
Thread.sleep(300);
sw.stop();

sw.start("任务2");
// 模拟业务逻辑处理
Thread.sleep(730);
sw.stop();

System.out.println(sw.prettyPrint());

运行结果:

StopWatch '': running time (millis) = 1033
-----------------------------------------
ms % Task name
-----------------------------------------
00303 029% 任务1
00730 071% 任务2
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值