网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  使用stopwatch类来计时     
  文章作者:未知  文章来源:水木森林  
  查看:91次  录入:管理员--2007-11-17  
 
  使用stopwatch类来计时

作者: builder.com

调试器是一个繁重的东西,使用调试器并不总是最有效的方法;有时,你可能想对代码进行一些小的调试和跟踪。一个简单的stopwatch类就是提供了一种好的计时解决方案。

package com.generationjava.test;

/**

* 在调试或者测试情形下需要计时非常有用*/

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不是深奥复杂的科学,但是它确实满足了常见的测量代码行间执行时间的需求。
 
 
上一篇: 使用runnable接口    下一篇: 使用string还是stringbuffer?
  相关文档
java基础:servlet技术及其与cgi的比较 11-20
j2ee综合应用之——解析mvc模式 11-17
轻松使用线程:不共享有时是最好的 11-17
java基础:java中对象和简单数据对象 12-14
百分之百纯java(tm)--名词解释 11-16
在java中操作扫描仪(使用jni) 11-17
经验谈:“三步走”成为一名优秀程序员 11-16
jrockit 5.0——轻松玩转jvm 11-17
jdbc入门 11-17
spring创建一个简单的工作流引擎(图) 11-17
我常用的邮件发送类 11-17
j2se综合--java实现把汉字转化成拼音 03-03
详细介绍jsf框架技术中使用的设计模式 11-16
教你如何配置安全的solaris系统 11-17
java基础:讲述java语言中内部类的研究 11-16
品味java子类型多态的魅力 11-17
ejb实质问题 11-17
turbine howto 之 service 11-17
java认证学习资料 11-17
struts开发技巧 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息