您的位置:首页 > 编程语言 > Java开发

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

2014-02-21 17:03 246 查看
如果一个变量需要经常访问,那么你就需要考虑这个变量的作用域了。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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: