计时器Java代码无法正常工作
public interface IncDec
{
void increment();
void decrement();
}
public class MyIncDec implements IncDec
{
private int x;
public MyIncDec(int x) {
this.x = x;
}
public void increment() {
this.x++;
}
public void decrement() {
this.x--;
}
}
第一部分:实现一个类,用于测量每个递增和递减方法调用需要的时间(以毫秒为单位),并打印出这些信息。该类应该与现有的IncDec接口客户端更或多或少地透明地融合。
我的解决方案:
public class Test{
public static void main(String[] args){
MyIncDec mid = new MyIncDec(4);
long l1;
long l2;
l1 = Calendar.getInstance().getTimeInMillis();
mid.increment();
l2 = Calendar.getInstance().getTimeInMillis();
System.out.println(l2-l1);
}
}
我的解决方案将时间差显示为0。当我在调用“increment”之前和之后显示长值时,它们是相同的。为什么会这样?
假设我需要在应用程序的许多地方执行类似的操作(方法调用计时)。一个想法是为所有不同的方法编写单独的计时器类。是否有另一个更优化的想法可以更方便地获取时间?
System.nanoTime
更精确,但并非如此精确。 - Tom Hawtin - tackline