最近在编程中,编完代码发现接口的返回很慢,就是用日志排查问题,打了很多日志,排查出来的效果还不明显,经过同事提醒发现一个很实用的工具Stopwatch,这个工具很容易能够分析出那些代码模块运行的效率慢,那些代码模块的效率比较快,耗时主要花费在那些部分,结果清晰明朗,记录一下学习:
1.是什么?
StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),适用于同步单线程代码块。
2.怎么用?
简略的说明使用下:
public static void main(String[] args) throws InterruptedException {
StopWatch watch = new StopWatch(“测试时间”);
watch.start();
Thread.sleep(1000);
watch.stop();
watch.start();
Thread.sleep(500);
watch.stop();
watch.start();
Thread.sleep(800);
watch.stop();
System.out.println(watch.prettyPrint());
}
运行结果:
StopWatch ‘测试时间’: running time (millis) = 2315
ms % Task name
01014 044%
00500 022%
00801 035%