使用StopWatch类来计时 (perf4j-0.9.16.jar 包里的类)
public class StopWatch {
static public int AN_HOUR = 60 * 60 * 1000;
static public int A_MINUTE = 60 * 1000;
;PRivate long startTime = -1;
private long stopTime = -1;
/**
;* 启动秒表
*/
public void start() {
this.startTime =System.currentTimeMillis();
}
/**
* 停止秒表
*/
public void stop() {
this.stopTime =System.currentTimeMillis();
}
/**
* 重置秒表
*/
public void reset() {
this.startTime = -1;
this.stopTime = -1;
}
/**
* 分割时间
*/
public void split() {
this.stopTime =System.currentTimeMillis();
}
/**
* 移除分割
*/
public void unsplit() {
this.stopTime = -1;
}
/**
* 获得秒表的时间,这个时间或者是启动时和最后一个分割时刻的时间差,
* 或者是启动时和停止时的时间差,或者是启动时和这个方法被调用时的差
*/
public long getTime() {
if(stopTime != -1) {
return(System.currentTimeMillis() - this.startTime);
} else {
return this.stopTime - this.startTime;
}
}
public String toString() {
return getTimeString();
}
/**
* 取得String类型的时间差
* 形式为小时,分钟,秒和毫秒
;*/
public String getTimeString() {
int hours, minutes, seconds,milliseconds;
long time = getTime();
hours = (int) (time / AN_HOUR);
time = time - (hours *AN_HOUR);
minutes = (int) (time /
A_MINUTE);
time = time - (minutes *A_MINUTE);
seconds = (int) (time / 1000);
time = time - (seconds * 1000);
milliseconds = (int) time;
return hours + "h:" +minutes + "m:"_
+ seconds + "s:" + milliseconds +
}
与大块的代码相比,它是非常简单的。但是它可重用而毫不复杂。因此StopWatch类的使用也是非常简单的:
StopWatch obj = new StopWatch();
obj.start();
try {
Thread.currentThread().sleep(1500);
} catch(InterruptedException ie) {
// ignore
}
obj.stop();
System.out.println(obj);
我们执行了1500豪秒sleep,完全在预料之中的,StopWatch的报告为:
0h:0m:1s:502ms
StopWatch不是深奥复杂的科学,但是它确实满足了常见的测量代码行间执行时间的需求
StopWatch stopWatch = new Slf4JStopWatch(); -- 可以new 不同格式的stopWatch
使用StopWatch类来计时 (perf4j-0.9.16.jar 包里的类)的更多相关文章
- PHP通过php-java-bridge调用JAVA的jar包里class类
正 文: 有的时候我们需要在PHP里调用JAVA平台封装好的jar包里的class类和方法,一般飘易推荐的做法是采用php-java-bridge做桥接,本文就来介绍一下大致的实现方法. 先简单说 ...
- spring3 mvc使用注解方式时,不能扫描jar包里面的类
使用eclipse export工具时选中Add directory entries可以解决.
- Androidstudio中jar包重复或jar包里的类重复问题
https://www.jianshu.com/p/dd5d4fda1df8 http://blog.csdn.net/hqb112233/article/details/51514208
- Java 操作jar包工具类以及如何快速修改Jar包里的文件内容
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...
- spring 3.0版本以上jar包使用以及依赖关系
本文转载自:http://blog.csdn.net/huiwenjie168/article/details/8477837 spring.jar是包含有完整发布的单个jar包,spring.jar ...
- 27 Java动态加载第三方jar包中的类
我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String pr ...
- java中使用URLClassLoader访问外部jar包的java类
很多时候 我们写的Java程序是分模块的,有很好的扩展机制,即我们可以为我们自己的java类添加插件,来运行将来某天我们可能开发出来的类,以下称这些类为插件类. 下边是一种简单的实现方法: Class ...
- Java项目中如何扩展第三方jar包中的类?
有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展.如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比 ...
- 获取类路径中含有beans.xml的jar包名称
获取类路径中含有beans.xml的jar包名称 package com.stono; import java.io.File; import java.io.IOException; import ...
随机推荐
- 同网页的WebRTC实现与源码分析
基本按照Real time communication with WebRTC搭建(下面简称该网站为官方tutorial) 本文重视WebRTC的基于同页面通信的代码实现,主要讲述顺序是WebRTC的 ...
- 《Python学习手册 第五版》 -第18章 参数
在函数的定义和调用中,参数是使用最多喝最频繁的,本章内容就是围绕函数的参数进行讲解 本章重点内容如下: 1.参数的传递 1)不可变得参数传递 2)可变得参数传递 2.参数的匹配模式 1)位置次序:从左 ...
- Element没更新了?Element没更新,基于El的扩展库更新
think-vuele 基于Vue和ElementUI框架进行整合二次开发的一个框架.提供一些elementUI没有的或当时没有的控件.优化了或简化了便于2B软件开发的一些控件 demo:http:/ ...
- BookStore示例项目---菜单栏UI分析
部署 参照 ABP示例项目BookStore搭建部署 项目解构 1).动态脚本代理 启动项目时,默认会调用两个接口 /Abp/ApplicationConfigurationScript /Abp/S ...
- BIT-Count of Range Sum
2019-12-17 18:56:56 问题描述: 问题求解: 本题个人感觉还是很有难度的,主要的难点在于如何将题目转化为bit计数问题. 首先构建一个presum数组,这个没有问题. 需要对于任意一 ...
- windows10环境下QtCreator中出现skipping incompatible xxx when searching for xxx 问题解决办法
windows10环境下QtCreator中出现skipping incompatible xxx when searching for xxx 我再QtCreator中想导入一个外部库时,他提示不匹 ...
- 03.第一个Go程序
第一个Go程序 Hello World 现在我们来创建第一个Go项目--hello.在我们的GOPATH下的src目录中创建hello目录. 在该目录中创建一个main.go文件: package m ...
- VMware workstation 下Hadoop伪分布式模式安装
详细过程: 1.VMware安装: 2.centos 6 安装 3.jdk下载安装配置 4.Hadoop 安装配置 1.VMware Workstation 安装: https://www.vmwar ...
- 【转】.strip().split('t')和.strip().split()
https://blog.csdn.net/qq_35290785/article/details/94780620 .strip().split('t')line =' nihao, zhenhao ...
- CodeForces - 1244E
题意:给n个数,可以有k次的 + 1或 - 1,在k次操作之内,让n个数的最大值和最小值差最小. 思路:要让max和min的差值最小,也就等同于min--,max++,如果k==0结束操作,或者min ...