【发布时间】:2013-02-23 10:14:05
【问题描述】:
一个快速的性能/内存问题:
如果有区别,什么更好?
这个
int x;
for (int i = 0; i < 10000; i++)
{
x = i;
//do something
}
或者这个
for (int i = 0; i < 10000; i++)
{
int x = i;
//do something
}
?
【问题讨论】:
-
你试过了吗?几乎可以肯定没有区别。
-
@CarlNorum:原语,当然。重量级物体?少这样。
-
如果有差异,可以忽略不计。所以更喜欢第二种,它限制了x的范围。调整您的 IO 和算法。像这样的微优化不会对性能产生任何重大影响,但会对代码的可读性和健壮性产生影响。
-
@Makoto 如果您查看我提供的链接的第二个答案,您会发现字节码完全相同相同 - 没有任何区别。
-
任何可能的效率差异都非常小,如果重要的话,您可能一开始就不应该使用 Java。