SpringBoot 统计代码执行耗时时间 ,玩法多到眼花!

Posted Java知音_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 统计代码执行耗时时间 ,玩法多到眼花!相关的知识,希望对你有一定的参考价值。

前言

近日群里有萌新提到关于统计代码执行时间的事:

开始  System.currentTimeMillis()  减去  结束 System.currentTimeMillis()  等于  耗时

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

简简单单的挺好。

这一篇就是 说点别的玩法,我很欣赏 这个小伙的求知欲, 举一反三,多了解一点没毛病。

【关键】ps:   举一反三的 三 ,还有额外的含义,即 三连,点赞、收藏、关注。

正文

① StopWatch

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

示例代码:

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

效果:

②  System.nanoTime()

第二种玩法   System.nanoTime()

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

题外话:

一定要养成这种散发的思维, 很多兄弟朋友都跟我反馈过一些话题,就是说,项目里面没啥东西可学。

其实,这个很正常, 工作过程不是教导过程,你要自己有 纵向 挖掘 、横向 散发的 学习思维。

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

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

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

效果 :

③ new Date()

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

示例代码:

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

效果:

④  System.currentTimeMillis()

省略

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

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

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

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

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

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

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

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

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

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

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

好了,该篇就到这。

作者:小目标青年

来源:https://blog.csdn.net/qq_35387940/

article/details/128444074

推荐

Java面试题宝典

技术内卷群,一起来学习!!

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

以上是关于SpringBoot 统计代码执行耗时时间 ,玩法多到眼花!的主要内容,如果未能解决你的问题,请参考以下文章

请教用nodejs执行耗时算法的处理方式

python 统计方法耗时的方便模块timeit

使用Spring freameword core提供的StopWatch统计代码执行时间

R语言统计代码运行耗时实战:计算代码运行时间使用proc.time函数计算代码运行时间

如何优雅的统计代码耗时?

统计代码块耗时的小工具stopwatch