总结:
一些反复计算的场合,使用方法类的临时变量,比对象中的成员变量效率要高。
案例(转自:http://blog.csdn.net/crystal_ooo/article/details/8666688)
public class CheckVars {
int privateintinstVar;// 成员变量
int privatestaticintstaticVar; // 静态变量
// 存取类方法中的临时变量
void tempAccess(int val) {
int j = 0;// 临时变量
long startTime = System.currentTimeMillis();
for (int i = 0; i < val; i++)
j += 1;
long endTime = System.currentTimeMillis();
System.out.println("temp var: " + (endTime - startTime) + " milli seconds");
}
// 存取类的成员变量
void instanceAccess(int val) {
long startTime = System.currentTimeMillis();
for (int i = 0; i < val; i++)
privateintinstVar += 1;
long endTime = System.currentTimeMillis();
System.out.println("instance var: " + (endTime - startTime) + " milli seconds");
}
// 存取类的 static 变量
void staticAccess(int val) {
long startTime = System.currentTimeMillis();
for (int i = 0; i < val; i++)
privatestaticintstaticVar += 1;
long endTime = System.currentTimeMillis();
System.out.println("static var: " + (endTime - startTime) + " milli seconds");
}
public static void main(String args[]){
CheckVars test=new CheckVars();
test.tempAccess(200000000);
test.instanceAccess(200000000);
test.staticAccess(200000000);
}
}