zl程序教程

您现在的位置是:首页 >  工具

当前栏目

学习stopwatch

学习 stopwatch
2023-06-13 09:12:08 时间

大家好,又见面了,我是你们的朋友全栈君。

处理过程(学习stopwatch) 虽然debug可以查看到每一步代码执行时发生的变化,但是不能清楚的看到每一步执行的时间,这个时候Stopwatch就派上用场了。 什么是stopwatch? Stopwatch是Guava(Google开源java库)中推出的计时器类,可以用于方便的检测两个代码直接执行的速度 Stopwatch简单用法

//引入Guava包guava-19.0.jar import com.google.common.base.Stopwatch; //创建一个自启动的计时器 Stopwatch stopwatch = Stopwatch.createStarted(); //获取计时器当前时间,单位:ms stopwatch.elapsed(TimeUnit.MILLISECONDS) //关闭计时器 stopwatch.stop();

使用Logger将从stopwatch中获取的时间输出到tomcat/logs/app.log中,将eclipseLink的输出级别调到DEBUG,方便查看SQL的执行计划

//获取logger private static Logger log = LoggerFactory.getLogger(RatingPortalNew.class); //init方法中刷新数据源 public void init(Map<String, Object> params) { Stopwatch stopwatch = Stopwatch.createStarted(); rateGroupsDs.refresh(); log.debug(String.format(“rateGroupsDs: %d”, stopwatch.elapsed(TimeUnit.MILLISECONDS))); provincesDs.refresh(); log.debug(String.format(“provincesDs: %d”, stopwatch.elapsed(TimeUnit.MILLISECONDS))); rateRecordsDs.refresh(); log.debug(String.format(“rateRecordsDs: %d”, stopwatch.elapsed(TimeUnit.MILLISECONDS))); rateDetailsDs.refresh(); log.debug(String.format(“rateDetailsDs: %d”, stopwatch.elapsed(TimeUnit.MILLISECONDS))); rateTargetsDs.refresh(); log.debug(String.format(“rateTargetsDs: %d”, stopwatch.elapsed(TimeUnit.MILLISECONDS))); stopwatch.stop(); … }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152449.html原文链接:https://javaforall.cn