专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » 打点计时器的使用:使用StopWatch类来计时 »正文

打点计时器的使用:使用StopWatch类来计时

来源: 发布时间:星期四, 2009年2月12日 浏览:80次 评论:0


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

  1. packagecom.generationjava.test;
  2. /**
  3. *在调试或者测试情形下需要计时非常有用
  4. */
  5. publicStopWatch{
  6. publicAN_HOUR=60*60*1000;
  7. publicA_MINUTE=60*1000;
  8. privatelongstartTime=-1;
  9. privatelongstopTime=-1;
  10. /**
  11. *启动秒表
  12. */
  13. publicvoidstart{
  14. this.startTime=java/lang/.java.html\" target=\"_blank\">.currentTimeMillis;
  15. }
  16. /**
  17. *停止秒表
  18. */
  19. publicvoidstop{
  20. this.stopTime=java/lang/.java.html\" target=\"_blank\">.currentTimeMillis;
  21. }
  22. /**
  23. *重置秒表
  24. */
  25. publicvoidre{
  26. this.startTime=-1;
  27. this.stopTime=-1;
  28. }
  29. /**
  30. *分割时间
  31. */
  32. publicvoidsplit{
  33. this.stopTime=java/lang/.java.html\" target=\"_blank\">.currentTimeMillis;
  34. }
  35. /**
  36. *移除分割
  37. */
  38. publicvoidunsplit{
  39. this.stopTime=-1;
  40. }
  41. /**
  42. *获得秒表时间这个时间或者是启动时和最后个分割时刻时间差
  43. *或者是启动时和停止时时间差或者是启动时和这个思路方法被
  44. */
  45. publiclonggetTime{
  46. (stopTime!=-1){
  47. (java/lang/.java.html\" target=\"_blank\">.currentTimeMillis-this.startTime);
  48. }{
  49. this.stopTime-this.startTime;
  50. }
  51. }


  52. publicjava/lang/String.java.html\" target=\"_blank\">StringtoString{
  53. getTimeString;
  54. }
  55. /**
  56. *取得String类型时间差
  57. *形式为小时分钟秒和毫秒
  58. */
  59. publicjava/lang/String.java.html\" target=\"_blank\">StringgetTimeString{
  60. hours,minutes,seconds,milliseconds;
  61. longtime=getTime;
  62. hours=()(time/AN_HOUR);
  63. time=time-(hours*AN_HOUR);
  64. minutes=()(time/A_MINUTE);
  65. time=time-(minutes*A_MINUTE);
  66. seconds=()(time/1000);
  67. time=time-(seconds*1000);
  68. milliseconds=()time;
  69. hours+\"h:\"+minutes+\"m:\"
  70. +seconds+\"s:\"+milliseconds+
  71. }



  和大块代码相比它是非常简单但是它可重用而毫不复杂因此StopWatch类使用也是非常简单:

  1. StopWatchobj=StopWatch;
  2. obj.start;
  3. try{
  4. java/lang/Thread.java.html\" target=\"_blank\">Thread.currentThread.sleep(1500);
  5. }catch(java/lang/InterruptedException.java.html\" target=\"_blank\">InterruptedExceptionie){
  6. //ignore
  7. }
  8. obj.stop;
  9. java/lang/.java.html\" target=\"_blank\">.out.prln(obj);



  我们执行了1500豪秒sleep完全在预料的中StopWatch报告为:

  0h:0m:1s:502ms

  StopWatch不是深奥复杂科学但是它确实满足了常见测量代码行间执行时间需求

(本文是为ZDNet翻译系列文章的原文已经发表在ZDNet网站WebSite)

标签:计时器
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: