【发布时间】:2012-08-07 21:02:17
【问题描述】:
Object[] objs = new Object[5];
for (int i = 0; i < 5; ++i) {
int j = i + 1;
Object obj = objs[i];
}
我对上述循环有两个问题:
- 是为每个循环迭代创建
j变量和obj引用还是创建一次然后只重新分配值? - 将
++i而不是i++作为单个指令来增加值是否有任何性能优势?
【问题讨论】:
-
如果您使用 Hotspot VM 运行,它很可能会优化 int 分配以及对象引用。
-
前缀或后缀(
++i或i++)仅在您将它们放入作业时才重要(虽然没有性能差异)。