gpt4 book ai didi

java - 为什么我不能使用 java.util.Date 类中的 getTime() 来测量耗时?

转载 作者:行者123 更新时间:2023-11-30 07:33:09 24 4
gpt4 key购买 nike

我想测量 Java 程序执行某些操作所需的时间。

书中只提到了java.util.Date类,所以我认为使用它来解决这个问题是正确的(或者足够正确)。

我有以下代码:

 time.start();

for(int i=0;i<array.length;i++)
array[i]=(int)(Math.random()*100000);

time.stop();

time.start() 和 time.stop 的位置(在 Java 类中):

Date timeMeasured = new Date();


public void start(){
startTime = timeMeasured.getTime();

}

public void stop(){
endTime = timeMeasured.getTime();

}

经过一些研究,我发现我应该使用 System.currentTimeMillis() 来测量时间,并且在尝试之后它是有效的。我的代码每次都返回 0。

有人可以解释一下原因,并且可以更正我的代码,无论这是错误的方法吗?

最佳答案

当你使用默认构造函数创建一个Date对象时,他将代表创建的时间。因此,任何 getTime() 调用都将返回对象的创建日期,而不是当前时间。

如果您每次使用前都实例化它而不是创建全局对象,那么您的代码将可以工作,但创建该对象所需的时间可能会搞砸您的计算。

关于java - 为什么我不能使用 java.util.Date 类中的 getTime() 来测量耗时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35784084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com