服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Springboot之如何统计代码执行耗时时间

Springboot之如何统计代码执行耗时时间

2023-03-17 14:26小目标青年 Java教程

这篇文章主要介绍了Springboot之如何统计代码执行耗时时间问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

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

Springboot之如何统计代码执行耗时时间

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

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

简简单单的挺好。

Springboot之如何统计代码执行耗时时间

正文

① StopWatch

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

示例代码:

?
1
2
3
4
5
6
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() 代码使用示例 :

?
1
2
3
4
5
long startTime = System.nanoTime();
doInsert();
//执行业务
long endTime = System.nanoTime();
System.out.println((endTime - startTime));

效果 :

Springboot之如何统计代码执行耗时时间

③ new Date ()

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

示例代码:

?
1
2
3
4
5
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():包含任务名称和任务耗时的实体类数组

总结

好了,该篇就到这里了~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_35387940/article/details/128444074

延伸 · 阅读

精彩推荐