0

我正在编写一个程序,我担心它运行所需的时间和所需的空间。

在程序中,我使用了一个变量来存储数组的长度:

int len=newarray3.length;

现在,我想知道我是否能够通过不使用 len 变量来降低空间复杂度,而是newarray3.length;在需要时调用。

注意:只有两种情况需要使用长度。

4

3 回答 3

8

“我们应该忘记小的效率,比如大约 97% 的时间:过早的优化是万恶之源” - Donald Knuth

首先,单个int变量使用的空间可以忽略不计。更一般地说,不要担心这些次要的性能(“时间和空间”)问题。专注于编写清晰易读的程序和高效的算法。如果性能成为一个问题,那么只要您的通用架构是可靠的,您就可以进行优化。所以专注于那个架构。

于 2013-04-07T21:21:33.537 回答
0

我真的怀疑这会提高你的表现。无论如何,我会使用 newarray3.length (而不是分配给一个占用内存并添加另一个操作的新变量)。无论如何,这是一个字段(甚至不是方法调用)。读取它与读取您复制的 int 值相同,但您可以节省复制和 int 消耗的 4 字节内存。

于 2013-04-07T21:21:59.687 回答
0

Java 数组不可调整大小,因此该对象的长度成员变量是常量,这可能导致 JIT 进行各种优化。

于 2013-04-07T21:27:39.830 回答