哪种方法可以降低Java中时间和空间的复杂性?

时间:2013-04-07 21:19:53

标签: java optimization

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

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

int len=newarray3.length;

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

注意:只需要两次使用长度。

3 个答案:

答案 0 :(得分:8)

“我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源” - Donald Knuth

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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