Simple Java_制作一个简单的计算时间差工具

在精度要求不太高的使用场景中,可能需要知道某一个处理逻辑究竟用了多少秒,Java提供了方便的获取当前时间的方式,通过获取两个时间点的差值就能得到中间部分的代码运行时间了。

首先,Java中获得当前系统时间的方式是:

Long currentTime = System.currentTimeMillis();

这条语句会返回当前时间的毫秒数.

现在我们定义一个简单的计时器工具,未加入任何验证的逻辑,代码大概如下:

package com.anivia.blog.util;
/**
 * 一个简单的时间计算工具
 * @author MinLZ
 * @version 2015年9月25日 上午10:21:56
 */
public class TimeMeter {

    //开始时间
    private Long startTime;

    //结束时间
    private Long endTime;

    //持续时间
    private Long durationTime;

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public Long getDurationTime() {
        return durationTime;
    }

    public void setDurationTime(Long durationTime) {
        this.durationTime = durationTime;
    }
    //以上是 setter & getter

    //开始计时,获取当期时间
    public void start() {
        this.startTime = System.currentTimeMillis();
    }

    //结束计时,获取当前结束时间,并计算出差值
    public void stop(){
        this.endTime = System.currentTimeMillis();
        this.setDurationTime(this.endTime - this.startTime);
    }
}

调用的方式如下:

package com.anivia.blog.util;

/**
 * @author MinLZ
 * @version 2015年9月25日 上午10:34:46
 */
public class MainUtil {

    public static void main(String[] args) {
        TimeMeter timeMeter = new TimeMeter();
        timeMeter.start();
        for(int i = 0; i < 1000000; i++) {
            //do something
        }
        timeMeter.stop();
        System.out.println("duration time:" + timeMeter.getDurationTime());
    }

}

以上就是这个TimeMeter的使用方式,不过尚未进行逻辑验证,稍微复杂的计时器应该加入当前计时器状态的验证,例如开始计时之后才能停止,多次停止不允许等等。

第一次写这个,如果有错误,请朋友不吝赐教。谢谢

时间: 2024-10-30 09:21:45

Simple Java_制作一个简单的计算时间差工具的相关文章

利用HTML制作一个简单的界面(工具HBuilder)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"><!--标题,里面填写的内容将在浏览器顶部小框中显示--> <title></title> </head> <body><!--将网页分成三个部分,头部--> <header> <h1><a href="#">

制作一个简单的用户界面

制作一个简单的用户界面 这节课里面,我们来开发一个XML布局文件,这个布局文件里面会包含一个text field,文本输入框,和一个按钮button.下一节课里面,会教大家怎么在按下一个按钮的时候,跳转到另一个Activity. 这里先简单解释一下Android界面的构成.AndroidApp的界面是使用View和ViewGroup构建起来的.View通常就是我们常见的UI小部件,比如按钮Button.文本控件TextView等:而ViewGroup是一个View的容器,它可以限制这个容器里面的

A simple libgdx game (一个简单的游戏)

在深入钻研libGDX提供的api之前,让我们创建一个简单的小游戏来初步接触一个每个模块.这里将会主要介绍一些设计思想,而非细节. 我们将会看到如下内容: 1.主要的文件操作 2.清屏 3.绘制图片 4.使用相机 5.主要的输入处理 6.播放声音效果 工程的创建就不在赘述了. The Game (游戏) 游戏的idea很简单: 1.用桶抓住雨滴 2.桶在屏幕的下方 3.雨滴在屏幕的上面随机出现并且垂直下落 4.玩家可以通过鼠标或者触摸或者键盘方向键来水平移动桶 5.游戏没有结束条件... The

iOS 制作一个简单的画板

制作简单画板 作为iOS初学者,在学习完UI的几个简单控件(UILable,UITextField,UIButton)之后,就可以制作一个简单的画图板demo,以下是具体制作流程(在MRC下),如有不足之处,还请各位大神们指教 0.0. 1.搭建界面,主要由UIButton,UITextField组成,底部的按钮是UITextField的一个自定义键盘(inputView) . - (void)viewDidLoad { [super viewDidLoad]; //创建菜单按钮 UIButto

制作一个简单的文本框输入的网页

题目:制作一个简单的网页(包含一个文本框.一个按钮),在页面上输出用户在文本框输入的内容,要求用JavaScript获取文本框内容. 一.首先利用html在网页上制作表单,代码如下: **onclick事件:onclick 事件会在对象被点击时发生. 二.利用js获取输入信息,并将其输出: 相关知识: 1.给用户确认消息,真正实现交互,使用语句confirm();给用户提示信息,实现单向通信,使用语句alert(). 三.运行结果: 1.用浏览器打开结果如下: 2.输入文本框内容,点击[提交]:

c# 自己制作一个简单的项目倒计时器

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace date { public partial class Form1 : Form { public Form1() { InitializeCompo

一个简单的计算分数的小程序

一个简单的计算分数的小程序 代码如下: package Day05; public class ExamGradeDemo { public static void main(String[] args) { char[][] answers = { {'C','B','D','C','A','A','D','C','D','C'}, {'A','C','B','D','C','A','D','C','B','D'}, {'A','C','B','D','B','D','C','A','A','

如何使用AEditor制作一个简单的H5交互页demo

转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个简单的H5交互页demo: 交互页demo地址: 点击打开H5交互页demo AEditor访问地址: http://aeditor.alloyteam.com Step1:设置页面背景颜色 首先我们设置页面的背景颜色,右击舞台点击“设置背景”: 然后在背景颜色中填上色值rgb(38, 61, 10

【FLEX&amp;YACC】第二天制作一个简单计算器

首先写词法分析器: 词法分析器要返回记号: "+" 返回ADD "-" 返回SUB "*" 返回MUL "/" 返回DIV 输入的实数全部被当作double类型处理 换行符返回CR calc.l: %{#include <stdio.h>#include "y.tab.h"int yywrap(void){ /*免链接库文件*/    return 1;}%}%%[ \t]    { ;}&qu