今天分享的是Spring框架中的一个工具类,可以说成是一个计时器吧。如有不足,敬请指正。

一、传统计时方式

我们之前比如统计一个方法执行的时间通常都是:

long startTime = System.currentTimeMillis();

// 业务代码

long endTime = System.currentTimeMillis();

long costTime = endTime -startTime;

System.err.println("该段代码耗时:" + costTime + " ms");

二、使用stopWatch

我们在使用Spring自带的工具类后可以很方便的计算出任务的耗时,直接上代码

package com.rrs.ktransfer.milkytea.test;

import com.rrss.ktransfer.milkytea.MilkyTeaApplication;

import org.junit.runner.RunWith;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import org.springframework.util.StopWatch;

/**

* Created by lzx on 2019/8/17.

*/

@RunWith(SpringJUnit4ClassRunner.class)

@SpringBootTest(classes = MilkyTeaApplication.class)

public class StopWatchTest {

public static void main(String[] args) throws InterruptedException {

StopWatch stopWatch = new StopWatch("统计一组任务耗时");

// 统计任务一耗时

stopWatch.start("任务一");

Thread.sleep(1000);

stopWatch.stop();

// 统计任务二耗时

stopWatch.start("任务二");

Thread.sleep(2000);

stopWatch.stop();

// 打印出耗时

String result = stopWatch.prettyPrint();

System.err.println(result);

}

}

运行结果如下:

版权说明:欢迎以任何方式进行转载,但请在转载后注明出处!

stopwatch 依赖_Spring框架中的stopWatch相关推荐

  1. 设计模式_spring框架中常用的8种设计模式

    spring框架中常用到的8种设计模式清单如下: 设计模式 使用地方 备注 工厂模式 BeanFactory ApplicationContext 单例模式 Spring中的Bean 代理模式 Spr ...

  2. spring内容协商管理_Spring框架中的内容协商

    spring内容协商管理 1.简介 使用BeanNameViewResolver完成的工作就是,我们刚刚在Spring上下文中创建了多个bean视图以生成预期的输出. Spring很快引入了内容协商策 ...

  3. java model类作用_SPRING框架中ModelAndView、Model、ModelMap区别及详细分析

    注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面. 首先介绍ModelMap[Model]和ModelAndView的作用 Model 是一个接口, 其实现类为Exte ...

  4. notempty注解属于哪个依赖_Spring框架 之@Valid注解的使用(嵌套类型的效验)

    @Valid注解可以实现数据的验证,你可以定义实体,在实体的属性上添加校验规则,而在API接收数据时添加@valid关键字,这时你的实体将会开启一个校验的功能. @Valid 注解类型的使用: @Nu ...

  5. Spring框架中的控制反转和依赖注入

    控制反转: 控制反转是用来降低代码之间的耦合度的,基本思想就是借助"第三方"实现具有依赖对象的解耦. 为什么需要控制反转,因为项目中对象或多或少存在耦合.控制反转的关键在于Ioc容 ...

  6. Guava 中的 Stopwatch 是个什么鬼?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Stopwatch 解释为计时器,又称秒表.停表,很明显它 ...

  7. android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南

    code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 作者:LvKang-insist 链接:https://juejin.im/post/5efdff9d6fb9a07e ...

  8. C#温故而知新学习系列之.NET框架高级特性—概述.NET框架中的反射(一)

    阅读目录 一:什么是元数据? 二:概述.NET框架中的反射 一:什么是元数据? 元数据,就是描述数据的数据,它存储在PE文件中,PE文件由IL Code和元数据组成,元数据为.NET提供了丰富的自我描 ...

  9. 依赖注入框架Autofac学习笔记

    Autofac是一个轻量级的依赖注入框架,可以在这里面下载:http://code.google.com/p/autofac/downloads/list 要想了解什么是依赖注入,可以参考下这篇博客: ...

最新文章

  1. 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)
  2. 解决System.Data.SqlClient.SqlException (0x80131904): Timeout 时间已到的问题
  3. 如何动态调试Python的第三方库
  4. flutter PositionedTransition 实现缩放动画
  5. Java基础之equals方法和= =的区别
  6. 技巧收藏|10个JavaScript常用数组操作方法
  7. 集成学习—决策树(CART)
  8. python与excel-Python与Excel 不得不说的事情
  9. html 获取mac地址,JS获取客户端IP地址与MAC地址示例
  10. 数据分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!
  11. 淘宝的U盘种类竟然没有京东多?
  12. C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
  13. visio教程仓库流程图_完整的VISIO教程(绝对干货)
  14. 用plsql将excel导入oracle,使用工具 plsqldev将Excel导入Oracle数据库
  15. 【MATLAB】三角函数
  16. 分割视频的方法有哪些?
  17. 【杂记】数据存储架构
  18. 以stc15w408as为核心,基于gsm的红外报警技术报告
  19. java简单人物介绍
  20. 基于opencvsharp的景深融合

热门文章

  1. linux系统查看机器硬件信息,linux系统查看硬件信息的方法
  2. 美食杰项目(七)菜谱大全
  3. 四人追逐matlab,四人追逐问题及C程序
  4. 有了这个,我再也不怕文章被别人搬运抄袭了
  5. iOS7 自定义动画跳转
  6. win8 应用商店链接不上
  7. 国家助力跨境电商融资热潮-扬帆志远
  8. Jzoj1322硬币
  9. Unity文档——优化UI控件
  10. 怎么设置缩进_【轻松一刻】这种拍照姿势怎么看都觉得不对劲