前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IDEA如何在DEBUG中输出耗时

IDEA如何在DEBUG中输出耗时

作者头像
半月无霜
发布2024-03-29 11:33:07
2120
发布2024-03-29 11:33:07
举报
文章被收录于专栏:半月无霜半月无霜

IDEA如何在DEBUG中输出耗时

一、介绍

在今天进行debug的时候,我突然想知道一段业务代码执行需要多少时间。

这也很简单,打上日志输出耗时就行了。

可是,当时的项目已经debug启动,想要输出还得改代码,还得重新启动

这就很麻烦了,有没有什么其他方法呢?

还真的有,这个IDEAdebug带的功能,我们使用下就可以进行输出耗时了,如下

二、代码

假设我们有这么一段代码,中间的睡眠,我们模拟业务的方法调用

我们只需要在前面打上断点

需要在这里输入什么代码呢?

本文考虑的是耗时,所以我找了一个工具类,如下

代码语言:javascript
复制
package com.banmoon.utils;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.util.StrUtil;

/**
 * DEBUG时,执行的耗时扩展工具
 *
 * @author banmoon
 * @date 2024/03/28 14:53:24
 */
public class TimeIntervalUtil {

    private static TimeInterval timeInterval;

    /**
     * 初始化计时器
     */
    public static String init() {
        return init(false);
    }

    /**
     * 初始化计时器
     *
     * @param isNano 是否使用纳秒计数,false则使用毫秒
     */
    public static String init(boolean isNano) {
        timeInterval = DateUtil.timer(isNano);
        return StrUtil.format("计时开始,当前时间:{}", DateUtil.now());
    }

    /**
     * 分组计时
     *
     * @param groupId 分组ID
     */
    public static String start(String groupId) {
        timeInterval.start(groupId);
        return StrUtil.format("分组计时开始,分组ID:{},当前时间:{}", groupId, DateUtil.now());
    }

    /**
     * 耗时输出
     */
    public static String intervalPretty() {
        String pretty = timeInterval.intervalPretty();
        return StrUtil.format("耗时:{}", pretty);
    }

    /**
     * 耗时输出
     */
    public static String intervalPretty(String groupId) {
        String pretty = timeInterval.intervalPretty(groupId);
        return StrUtil.format("分组ID:{},耗时:{}", groupId, pretty);
    }


}

代码比较简单,都看懂了吧

我们只需要输入这样的方法,一个断点一条

代码语言:javascript
复制
TimeIntervalUtil.init()
TimeIntervalUtil.intervalPretty()

这两个断点是黄色的,这种是不会打断执行的。那么执行一下看看效果,成功!!

三、最后

当然了,上面只是试了其中的一个计时api,还可以使用分组计时,具体自己看下文档吧。

这个功能,我常常这样使用。在我们发起调用后,突然发现方法中,某个变量要改动,一次还行,多次调用排查问题就会显得很麻烦。

我直接上面那样操作一下,赋值某个具体的值。这样,就不用每次进行修改赋值了。

比较常见于使用的token是这个人的,调试的时候不想改token,我直接改那个从token中拿出来的userId

我是半月,你我一同共勉!!!

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IDEA如何在DEBUG中输出耗时
    • 一、介绍
      • 二、代码
        • 三、最后
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档


        http://www.vxiaotou.com