【java performance】尽可能的使用栈变量

如果一个变量需要经常访问,那么你就需要考虑这个变量的作用域了。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

天再高又怎样,踮起脚尖就更接近阳光。

【java performance】尽可能的使用栈变量

相关文章:

你感兴趣的文章:

标签云: