如果一个变量需要经常访问,那么你就需要考虑这个变量的作用域了。static? local?还是实例变量?访问静态变量和实例变量将会比访问局部变量多耗费2-3个时钟周期。

        

例子:

public class USV {
void getSum (int[] values) {
for (int i=0; i < value.length; i++) {
_sum += value[i]; //violation.
}
}
void getSum2 (int[] values) {
for (int i=0; i < value.length; i++) {
_staticSum += value[i];
}
}
private int _sum;
private static int _staticSum;
}

        

更正:        

如果可能,请使用局部变量作为你经常访问的变量。

你可以按下面的方法来修改getSum()方法:        

void getSum (int[] values) {
int sum = _sum; // temporarylocal variable.
for (int i=0; i < value.length; i++) {
sum += value[i];
}
_sum = sum;
}

        

参考资料:        

Peter Haggar: "Practical Java -Programming Language Guide".
Addison Wesley, 2000, pp.122 – 125