使用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 ...
随机推荐
- iOS 原生实现生成二维码(CoreImage)工具类,不依赖第三方库,可自定义背景颜色,添加logo(Swift 4.0)
import Foundation import CoreImage import UIKit extension UIColor { var coreImageColor: CIColor { re ...
- 浅谈Java语言环境搭建-JDK8
title: 浅谈Java语言环境搭建-JDK8 blog: CSDN data: Java学习路线及视频 1.What's the JDK,JRE JDK(Java Development Kit ...
- pat 乙级 1015. 德才论 (25) c++
http://39.106.25.239 个人网站 欢迎访问 交流 1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Sta ...
- Jmeter4.0之语言修改(二)
下载最新Jmeter后,解压后,点击jmeter.bat,启动后,界面显示的是英文,那如何切换到中文了,步骤是点击Options中的Choose Language,选择中文 但是关闭Jmeter再次启 ...
- Python操作JSON数据代码示例
#!/usr/bin/env python import json import os def json_test(): return_dic = {} json_data = { 'appid':' ...
- [noip模拟20170921]模版题
今天考的是一套很基础的模版题,但是我这种蒟蒻竟然还是没有AK,不得不说,蒟蒻和大佬的差别不是一点点啊 1.暴走的猴子(walk.pas/c/cpp) [题目描述] 从前有一个森林,森林里生活着一群 ...
- ㊙力荐!!!那些炒鸡有用的chrome插件㊙
今天咱们来说一说那些炒鸡
- python数据库MySQL之视图,触发器,事务,存储过程,函数
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- P1203 [USACO1.1]Broken Necklace(模拟-枚举)
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- uCOS-II简介及移植uCOS-II到STM32F103平台详细步骤
1.参考博客:https://blog.csdn.net/wang328452854/article/details/78486458 2.uCOS(也有人叫uC/OS)由美国人 Jean Labro ...