0

0

Springboot之怎么统计代码执行耗时时间

WBOY

WBOY

发布时间:2023-05-16 08:40:21

|

1838人浏览过

|

来源于亿速云

转载

    开始  system.currenttimemillis()  减去  结束  system.currenttimemillis()  等于  耗时   

    其实我个人感觉OK的,就这样就蛮好的,很多项目都是这样用的。

    简简单单的挺好。

    Springboot之怎么统计代码执行耗时时间

    正文

    ① StopWatch

    第一种玩法,spring util 里面提供的 StopWatch

    示例代码:

    高端时尚购物网店
    高端时尚购物网店

    1、系统基于网上流行被广泛使用的商城平台延续开发,集百家之所长,技术领先、功能完备;不需要懂技术,只要会打字3分钟即可以建立一个功能完备的网上商城; 2、安装方便:只需传到您的虚拟空间即可; 3、界面由专业设计师设计,时尚简约,采用人性化的布局,是一套纯专业高端网上购物平台。应用本系统更能有效地提高产品档次,树立网店及商品品牌! 4、全面优化代码提供系统的执行效率,并且针对搜索引擎做了代码优化,使

    下载
    StopWatch stopWatch = new StopWatch();
    stopWatch.start();
    //doInsert();
    //执行业务等
    stopWatch.stop();
    System.out.println(stopWatch.getTotalTimeMillis());

    效果: 

    Springboot之怎么统计代码执行耗时时间

    ②  System.nanoTime()

    第二种玩法   System.nanoTime()

    先不着急看怎么用, 我们看完第一种 StopWatch 的时候, 有没有小伙伴的思维散发够的,想着这spring 封装的统计耗时,自己是怎么实现的?

    题外话:一定要养成这种散发的思维, 很多兄弟朋友都跟我反馈过一些话题,就是说,项目里面没啥东西可学。 其实,这个很正常, 工作过程不是教导过程,你要自己有 纵向 挖掘 、横向 散发的 学习思维。 

    直接点StopWatch  的源码看一眼, 哦,原理是用的  System.nanoTime() :

    Springboot之怎么统计代码执行耗时时间

     System.nanoTime() 代码使用示例 :

            long startTime = System.nanoTime();
            doInsert();
            //执行业务
            long endTime = System.nanoTime();
            System.out.println((endTime - startTime));

    效果 :

    Springboot之怎么统计代码执行耗时时间

    ③ new Date ()

    第三种玩法 ,平时偶尔也看到别人这么写 new Date 

    示例代码:

            Date startDate = new Date();
           // doInsert();
           //执行业务等
            Date endDate = new Date();
            System.out.println((endDate.getTime() - startDate.getTime()));

    效果:

    Springboot之怎么统计代码执行耗时时间

    ④  System.currentTimeMillis() 

    省略

    ps: StopWatch 其实不仅仅是封了一下耗时统计,这样也太。。了  。

    里面其实封装了蛮多其他关于时间统计的函数(感兴趣的可以单独去研究研究,特别是参考作者的封装思路 ):

    • void start(“任务名称”):开始一个任务名称的计时

    • void stop():停止当前任务的计时

    • boolean isRunning():是否正在计时某任务

    • long getTotalTimeMillis():所有任务的总体执行时间(毫秒单位)

    • double getTotalTimeSeconds():所有任务的总时间(以秒为单位)

    • long getLastTaskTimeMillis():上一个任务的耗时(毫秒单位)

    • int getTaskCount():定时任务的数量

    • String prettyPrint():优美地打印所有任务的详细耗时情况

    • StopWatch.TaskInfo[] getTaskInfo():包含任务名称和任务耗时的实体类数组

    相关专题

    更多
    高德地图升级方法汇总
    高德地图升级方法汇总

    本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.16

    全民K歌得高分教程大全
    全民K歌得高分教程大全

    本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

    3

    2026.01.16

    C++ 单元测试与代码质量保障
    C++ 单元测试与代码质量保障

    本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

    10

    2026.01.16

    java数据库连接教程大全
    java数据库连接教程大全

    本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

    33

    2026.01.15

    Java音频处理教程汇总
    Java音频处理教程汇总

    本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

    15

    2026.01.15

    windows查看wifi密码教程大全
    windows查看wifi密码教程大全

    本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

    42

    2026.01.15

    浏览器缓存清理方法汇总
    浏览器缓存清理方法汇总

    本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

    7

    2026.01.15

    ps图片相关教程汇总
    ps图片相关教程汇总

    本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

    9

    2026.01.15

    ppt一键生成相关合集
    ppt一键生成相关合集

    本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

    6

    2026.01.15

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Redis6入门到精通超详细教程
    Redis6入门到精通超详细教程

    共47课时 | 5.2万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号