场景描述:在java编程中,很多时候我们需要了解方法的运行耗时时间,从而针对性的改善代码,提高系统运行效率。下面的示用例子可以直接放到代码中执行,在日志中输出方法运行耗时。
Long startTime = System.currentTimeMillis();
// 中间是方法业务逻辑
Long endTime = System.currentTimeMillis();
log.info(this.getUseUpTime(startTime, endTime,"方法运行总耗时为:"));
其中,getUseUpTime是一个公用的静态方法,内容如下。
public static String getUseUpTime(Long startTime, Long endTime, String note){
//计算并打印耗时
Long tempTime = (endTime - startTime);
String result = note + (((tempTime/86400000)>0)?((tempTime/86400000)+"d"):"")+
((((tempTime/86400000)>0)||((tempTime%86400000/3600000)>0))?((tempTime%86400000/3600000)+"h"):(""))+
((((tempTime/3600000)>0)||((tempTime%3600000/60000)>0))?((tempTime%3600000/60000)+"m"):(""))+
((((tempTime/60000)>0)||((tempTime%60000/1000)>0))?((tempTime%60000/1000)+"s"):(""))+
((tempTime%1000)+"ms");
return result;
}
日志会显示执行方法耗时多少天,时,分,秒,毫秒,运行效果如下所示。