這可能是挑剔的,但是在使用全局靜態字段用於一次性工作變量時是否有任何時間/內存效率?給出的簡單的例子:使用靜態全局工作變量有什麼優勢嗎?
class theClass {
private static GregorianCalendar wkCal;
private static int wkTimes1;
private static int wkTimes2;
private static int wkTimes3;
private static StringBuilder wkSb = new StringBuilder();
void aMethod(int n) {
wkTimes1 = n * 1;
wkTimes2 = n * 2;
wkTimes3 = n * 3;
wkCal = new GregorianCalendar();
wkSb.setLength(0);
wkSb.append("A string");
// And so on...
}
}
該片段有潛力被實例化多次(> 3000)和被amethod方法每實例化多次使用。此外,wk前綴字段將用於其他方法,並且設計用於保存僅用於中間計算的臨時值。
我看到它的方式,如果你留意使用全局變量的常見警告,這可以節省內存和時間。
此代碼是在單個線程上運行嗎?如果是的話,這很好。如果你的代碼將來會改變以支持線程,那就不好了。 – Brian
「關於使用全局變量的常見警告」是它們是邪惡的,冒險的,不可測試的,並且你不應該使用它們。(但是不,它們不會給你效率優於局部變量。) –