在Java中,如果我有很多本地對象,如果將它們定義爲實例變量,它會運行得更快嗎?例如,如果我的func1()被多次調用,例如在一個循環中,那麼每次調用該函數時,JVM會不會實例化並垃圾收集list2?我應該重複使用相同的list1對象來防止垃圾收集和實例化開銷?Java優化:本地變量與實例變量
class A {
List list1 = new ArrayList();
private void func1() {
list1.clear();
// add new objects list1
List list2 = new ArrayList();
// add new objects to list2
}
}
優化器是否足夠智能以跳過垃圾回收並自動重用該對象?
'Optimization.PREMATURE == Math.sqrt(EvilUtils.getAll(Evil.class))'求值真的......你確定這個問題給你帶來了問題,還是僅僅是一個過早優化的情況?它聞起來像是我的第二個案例... – ppeterka
只是好奇心。想要了解當我需要坐下來優化我的代碼時可用的選項。 – JavaMan