Java 程式碼最佳化
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
手動記憶體管理(C/C++)
$$
Java 的垃圾回收

// 不佳:建立大量短命物件 for (int i = 0; i < 1000000; i++) { new Object(); // 立刻成為垃圾 }// 對照:重複使用物件 Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // 只有一個參考 }
// 在效能關鍵路徑避免這樣寫 String result = ""; for (int i = 0; i < 100000; i++) { result += i; // 每次都會建立新字串 }// 更好的作法 StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // 重複使用同一個緩衝區 } String result = builder.toString();
// 可預期的分支有助於 JIT 最佳化
if (value > 0) {
// 程式碼 A - 常走的路徑
} else {
// 程式碼 B - 少走的路徑
}
Java 程式碼最佳化