【发布时间】:2015-06-04 23:46:22
【问题描述】:
所以我有一个应用程序可以进行大量数学运算,因此存在大量临时变量。我想知道的是:当我在循环之前声明变量然后重用它(代码 1)时是否有任何性能差异,或者在循环中声明它更好(代码 2)?该变量仅在循环内部需要,n 可以多达数万个。还是将它们作为全局变量更好?该循环也被多次调用。
代码 1:
double temp;
for (int i = 0; i < n; i++) {
temp = ...;
}
代码 2:
for (int i = 0; i < n; i++) {
double temp = ...;
}
感谢您的提示。
【问题讨论】:
-
第一部分代码 1 似乎是合乎逻辑的,永远不要在代码中使用全局变量,因为它们会导致很多不需要的结果
-
你的基准测试显示了什么?
-
现代JVM会自动检测一段代码何时被调用多次,并在运行该代码块时进行深度优化和编译以提高性能。所以你不应该为此烦恼太多,让 JVM 为你完成这项工作。
标签: java performance variables