我正在编写程序,我担心运行所需的时间和占用的空间。
在程序中我使用变量来存储数组的长度:
int len=newarray3.length;
现在,我想知道我是否能够通过不使用len变量来减少空间复杂度,而是在需要时调用newarray3.length;
。
注意:只需要两次使用长度。
答案 0 :(得分:8)
“我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源” - Donald Knuth
首先,单个int
变量使用的空间可以忽略不计。更一般地说,不要担心这些小的性能(“时间和空间”)问题。专注于编写清晰,可读的程序和高效的算法。如果性能成为问题,那么只要您的通用架构是可靠的,您就可以进行优化。所以专注于该架构。
答案 1 :(得分:0)
我真的怀疑这会改善你的表现。 无论如何,我会使用newarray3.length(而不是分配一个新的变量,它接受内存并添加另一个操作)。无论如何这是一个字段(甚至不是方法调用)。读取它与读取你复制的int值相同,但你不需要复制和int消耗的4个字节的内存。
答案 2 :(得分:0)
Java数组不可调整大小,因此长度成员变量对于该对象是常量,这可以导致JIT进行各种优化。