class CheckVars {
privateintinstVar;// 成員變量
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++)
instVar += 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++)
staticVar += 1;
long endTime = System.currentTimeMillis();
System.out.println("static var: " +
(endTime - startTime) + " milli seconds");
}
publicstaticvoid main(String[] args){
CheckVars test=new CheckVars();
test.tempAccess(200000000);
test.instanceAccess(200000000);
test.staticAccess(200000000);
}
}
|
publicclass CheckVarsAdv {
privateintinstVar;
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)
{
int j = instVar;
long startTime = System.currentTimeMillis();
for (int i
= 0; i < val; i++)
j += 1;
long endTime = System.currentTimeMillis();
System.out.println("instance var: " +
(endTime - startTime) + " milli seconds");
instVar = j;
}
void staticAccess(int val)
{
int j = staticVar;
long startTime = System.currentTimeMillis();
for (int i
= 0; i < val; i++)
j += 1;
long endTime = System.currentTimeMillis();
System.out.println("static var: " +
(endTime - startTime) + " milli seconds");
staticVar = j;
}
publicstaticvoid main(String[] args){
CheckVarsAdv test=new CheckVarsAdv();
test.tempAccess(200000000);
test.instanceAccess(200000000);
test.staticAccess(200000000);
}
}
|