所属类别:Java
文章作者:佚名
特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!
调试器是一个繁重的东西,使用调试器并不总是最有效的方法;有时,你可能想对代码进行一些小的调试和跟踪。一个简单的StopWatch类就是提供了一种好的计时解决方案。packagecom.generationjava.test;/***在调试或者测试情形下需要计时非常有用*/publicclassStopWatch{staticpublicintAN_HOUR=60*60*1000;staticpublicintA_MINUTE=60*1000;privatelongstartTime=-1;privatelongstopTime=-1;/***启动秒表*/publicvoidstart(){this.startTime=System.currentTimeMillis();}/***停止秒表*/publicvoidstop(){this.stopTime=System.currentTimeMillis();}/***重置秒表*/publicvoidreset(){this.startTime=-1;this.stopTime=-1;}/***分割时间*/publicvoidsplit(){this.stopTime=System.currentTimeMillis();}/***移除分割*/publicvoidunsplit(){this.stopTime=-1;}/***获得秒表的时间,这个时间或者是启动时和最后一个分割时刻的时间差,*或者是启动时和停止时的时间差,或者是启动时和这个方法被调用时的差*/publiclonggetTime(){if(stopTime!=-1){return(System.currentTimeMillis()-this.startTime);}else{returnthis.stopTime-this.startTime;}}publicStringtoString(){returngetTimeString();}/***取得String类型的时间差*形式为小时,分钟,秒和毫秒*/publicStringgetTimeString(){inthours,minutes,seconds,milliseconds;longtime=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;returnhours+"h:"+minutes+"m:"+seconds+"s:"+milliseconds+}
与大块的代码相比,它是非常简单的。但是它可重用而毫不复杂。因此StopWatch类的使用也是非常简单的:StopWatchobj=newStopWatch();obj.start();try{Thread.currentThread().sleep(1500);}catch(InterruptedExceptionie){//ignore}obj.stop();System.out.println(obj);
我们执行了1500豪秒sleep,完全在预料之中的,StopWatch的报告为:
0h:0m:1s:502ms
StopWatch不是深奥复杂的科学,但是它确实满足了常见的测量代码行间执行时间的需求。关闭本页
相关信息· Redhat Linux Enterprise 4.0绑定网卡
· 130个漂亮CSS布局站点参考
· Emacs与visualstudio结合
· 病毒是什么、病毒的症状
15417
75529
