Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >StopWatch类

StopWatch类

作者头像
全栈程序员站长
发布于 2022-09-09 13:35:22
发布于 2022-09-09 13:35:22
24600
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,小例一则如下

实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.example.stopwatch;

import org.springframework.util.StopWatch;


public class TestStopWatch {
    private void test() throws InterruptedException {
        StopWatch sw = new StopWatch();

        sw.start("起床");
        Thread.sleep(1000);
        sw.stop();

        sw.start("洗漱");
        Thread.sleep(2000);
        sw.stop();

        sw.start("锁门");
        Thread.sleep(500);
        sw.stop();

        System.out.println(sw.prettyPrint());
        System.out.println(sw.getTotalTimeMillis());
        System.out.println(sw.getLastTaskName());
        System.out.println(sw.getLastTaskInfo());
        System.out.println(sw.getTaskCount());
    }


    public static void main(String []argv) throws InterruptedException {
        TestStopWatch testStopWatch = new TestStopWatch();
        testStopWatch.test();
    }
}

结果

StopWatch ‘’: running time (millis) = 3518

ms % Task name

00998 028% 起床 02020 057% 洗漱 00500 014% 锁门

3518 锁门 org.springframework.util.StopWatch$TaskInfo@5b2133b1 3

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152432.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一个Tensor的生命历程(Pytorch版)
文中涉及到大量的Pytorch的C++源码,版本为1.4.0a,适合有一定Pytorch源码基础的童鞋观看,同时也涉及到一些python中的C/C++拓展的一些基础知识,其中每一段代码的第一行表明了该代码的文件位置。需要注意有些代码是自动生成的,原始工程中并没有,需要编译。
老潘
2023/10/19
7340
Python基础(十一) | 超详细的Pandas库三万字总结
而基于Numpy构建的Pandas库,提供了使得数据分析变得更快更简单的高级数据结构和操作工具
timerring
2022/10/28
4810
Python基础(十一) | 超详细的Pandas库三万字总结
环保 HJ212协议解析
由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。
ccf19881030
2020/09/22
3.4K0
环保 HJ212协议解析
【年度系列】监督学习标签在股市中的应用(代码+书籍)
由于低信噪比和非平稳的价格分布,预测未来股票价格走势是一件十分困难的事。现在流行的机器学习算法通常会给你带来不怎么满意的结果。
量化投资与机器学习微信公众号
2018/10/25
1.9K0
【年度系列】监督学习标签在股市中的应用(代码+书籍)
tensorflow 0.10 word2vec 源码解析
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u012436149/article/details/52848013
ke1th
2019/05/27
8500
学习笔记CB011:lucene搜索引擎库、IKAnalyzer中文切词工具、检索服务、word2vec
影视剧字幕聊天语料库特点,把影视剧说话内容一句一句以回车换行罗列三千多万条中国话,相邻第二句很可能是第一句最好回答。一个问句有很多种回答,可以根据相关程度以及历史聊天记录所有回答排序,找到最优,是一个搜索排序过程。
利炳根
2018/04/21
1.9K3
[论文解读] 阿里DIEN整体代码结构
DIEN是阿里深度兴趣进化网络(Deep Interest Evolution Network)的缩写。
罗西的思考
2020/11/11
1.6K0
[论文解读] 阿里DIEN整体代码结构
tf25: 使用深度学习做阅读理解+完形填空
本文介绍了如何使用深度学习来做阅读理解+完形填空。首先介绍了TensorFlow的基本用法,然后详细讲解了如何使用TensorFlow来实现这个任务。主要包括两个部分:1. 使用深度学习来做阅读理解;2. 使用深度学习来做完形填空。最后还给出了一些实验结果和性能指标。
MachineLP
2018/01/09
2.3K0
tf25: 使用深度学习做阅读理解+完形填空
实现基于内部文档的ChatBot
大群口嗨一时爽,不得不为公司HR做了一个基于内部文档的ChatBot。大概花了2周的个人业余时间,算起来有2个工作日。Open AI ChatGPT Key缺乏、网络延迟以及Open LLM性能不佳的问题,索性不使用LLM进行搜索关联文档后输出优化。
flavorfan
2023/07/21
9951
实现基于内部文档的ChatBot
【C++|Linux|计网】构建Boost站内搜索引擎的技术实践与探索
技术栈:C/C++ C++11, STL, 标准库Boost,Jsoncpp,cppjieba,cpp-httplib ,
用户11316056
2024/12/20
1710
【C++|Linux|计网】构建Boost站内搜索引擎的技术实践与探索
[ROS2] map_server加载地图文件的三种模式
map话题的类型是nav\_msgs::msg::OccupancyGrid。使用下面的命令可以查询该类型的数据结构。
首飞
2022/04/17
1.3K0
[ROS2] map_server加载地图文件的三种模式
PaddleOCR C++(三)---动态库返回识别结果及矩形位置
《PaddleOCR C++学习笔记(二)》尝试做图像的分割,结果都效果不明显,所以这篇我们从OCR识别这里来处理,将返回的识别字符和对应的识别矩形框都显示出来,用于区分识别的效果。
Vaccae
2021/07/30
2.3K1
PaddleOCR C++(三)---动态库返回识别结果及矩形位置
测试现代化硬件C++浮点数性能和一致性
很久很久以前,浮点数的性能和跨平台跨硬件架构一致性是无法获得保证的,所以我们一般在需要强一致性和高性能的游戏服务器中会禁用浮点数,转而使用自己实现的定点数。 这么多年过去了,前段时间想看看现代化硬件下是否仍然有性能问题和是否能够保证一致性,做了些简单的测试,这里记录一下。
owent
2023/03/06
9380
[Kaggle] Heart Disease Prediction
文章目录 1. 数据探索 2. 特征处理管道 3. 训练模型 4. 预测 kaggle项目地址 1. 数据探索 import pandas as pd train = pd.read_csv('./train.csv') test = pd.read_csv('./test.csv') train.info() test.info() abs(train.corr()['target']).sort_values(ascending=False) <class 'pandas.core.fra
Michael阿明
2021/02/19
6230
OpenVINO开发教程之八 – 道路分割
基于OpenVINO预训练模块中的道路分割模型,实现像素级别的图像分割,把像素划分为如下四个类别
OpenCV学堂
2019/06/14
2.9K3
OpenVINO开发教程之八 – 道路分割
利用Caffe推理CenterNet(下篇)
此文章作为存档文章,caffe虽然不是c++版本运行CenterNet的最优方式,但也是一种选择。这里仅仅是记录,承接利用Caffe推理CenterNet(上篇)。
老潘
2023/10/19
2480
利用Caffe推理CenterNet(下篇)
[源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (4)
在这个系列中,我们介绍了 HugeCTR,这是一个面向行业的推荐系统训练框架,针对具有模型并行嵌入和数据并行密集网络的大规模 CTR 模型进行了优化。
罗西的思考
2022/11/28
9120
[源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (4)
MKL sparse QR solver for least square
COO to CSR format #include <vector> #include <iostream> #include <mkl.h> #ifdef __linux__ #include <stdlib.h> //for aligned alloc! #include <cstring> //believe it or not for memcpy!! #endif #include "mkl_sparse_qr.h" // --------------------- template<clas
用户1148525
2022/05/06
7220
学习笔记CB012: LSTM 简单实现、完整实现、torch、小说训练word2vec lstm机器人
LSTM(Long Short Tem Memory)特殊递归神经网络,神经元保存历史记忆,解决自然语言处理统计方法只能考虑最近n个词语而忽略更久前词语的问题。用途:word representation(embedding)(词语向量)、sequence to sequence learning(输入句子预测句子)、机器翻译、语音识别等。
利炳根
2018/05/01
1.5K2
c++ 日志类 线程安全+缓存
根据上一次的测试,有缓存的日志类性能会更好。用到了time.h类函数,所以在linux下就要改动一下了,windows环境下写的。
forxtz
2020/10/10
1.4K0
推荐阅读
相关推荐
一个Tensor的生命历程(Pytorch版)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验