Java实用小工具系列2---使用StopWatch统计多个任务耗时分布
在Java中经常需要统计程序的使用时间,如果只是一个时间段统计比较好处理,可以直接使用System.currentTimeMillis()。但如果一个程序中包含多个步骤,需要统计每个步骤耗时,并且需要统计耗时分布,找出那个步骤耗时最多,好做一下优化时,就比较费力了。这个使用可以使用Spring的工具StopWatch,比如下面例子:
StopWatch stopWatch = new StopWatch(); stopWatch.start("aaa"); TimeUnit.SECONDS.sleep(10); stopWatch.stop(); stopWatch.start("bbb"); TimeUnit.SECONDS.sleep(5); stopWatch.stop(); System.out.println(stopWatch.prettyPrint());
输出结果:
StopWatch '': running time (millis) = 15003 ----------------------------------------- ms % Task name ----------------------------------------- 10002 067% aaa 05001 033% bbb
是不是很方便,很清晰直观。
寻找撬动地球的支点(解决问题的方案),杠杆(Java等编程语言)已经有了。xkzhangsan