学习stopwatch

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

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

处理过程(学习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.net/152449.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月23日 上午9:16
下一篇 2022年6月23日 上午9:16


相关推荐

  • fullCalendar改造计划之带农历节气节假日的万年历(转)

    fullCalendar改造计划之带农历节气节假日的万年历(转)

    2021年9月7日
    191
  • 【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著

    【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著最详细 数据结构 C 语言版第 2 版 第一章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第二章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第三章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第四章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第五章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第六章课后习题答案严蔚敏等编著 最详细 数据结构 C 语言版第 2 版 第七章课后习题答案

    2026年3月18日
    2
  • 【100个 Unity踩坑小知识点】| Unity 使用Quaternion.AngleAxis随机一个方向

    【100个 Unity踩坑小知识点】| Unity 使用Quaternion.AngleAxis随机一个方向Unity 小科普老规矩 先介绍一下 Unity 的科普小知识 Unity 是实时 3D 互动内容创作和运营平台 包括游戏开发 美术 建筑 汽车设计 影视在内的所有创作者 借助 Unity 将创意变成现实 Unity 平台提供一整套完善的软件解决方案 可用于创作 运营和变现任何实时互动的 2D 和 3D 内容 支持平台包括手机 平板电脑 PC 游戏主机 增强现实和虚拟现实设备 也可以简单把 Unity 理解为一个游戏引擎 可以用来专业制作游戏 Unity 踩坑小知识点学习 Unity 使用 Q

    2026年3月18日
    2
  • 3分钟学会Cursor Rules,让AI不再乱改代码!

    3分钟学会Cursor Rules,让AI不再乱改代码!

    2026年3月16日
    3
  • eclipse卸载adt插件(360卸载)

    Eclipse中ADT可能出错,那么卸载重装可能比较省事,具体步骤直接如图:下一步就是选择需要卸载的因插件文件路径变更,而报错问题Somesitescouldnotbefound.Seetheerrorlogformoredetail,解决方法如下图:转载于:https://www.cnblogs.com/zhuchengyi/p/3143602.ht…

    2022年4月10日
    65
  • progressdialog进度框_ProgressDialog进度对话框「建议收藏」

    progressdialog进度框_ProgressDialog进度对话框「建议收藏」ProgressDialog是AlertDialog类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条。一个对话框中显示一个进步指标和一个可选的文本信息或一个视图。只有文本信息或一个视图,可以同时使用。对话框可以按back键取消。二、方法:setProgressStyle()设置进度条风格setTitle()设置Progre…

    2022年7月14日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号