Java'da Kod Optimizasyonu
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
Elle Bellek Yönetimi (C/C++)
$$
Java'nın Çöp Toplaması

GC Performans Dengeleri
$$
GC Algoritmaları
// Kötü - Çok sayıda kısa ömürlü nesne oluşturma for (int i = 0; i < 1000000; i++) { new Object(); // Hemen çöp olur }// vs. Nesneleri yeniden kullanma Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // Yalnızca bir başvuru }
// Performans kritik kodda kaçının String result = ""; for (int i = 0; i < 100000; i++) { result += i; // Her seferinde yeni String oluşturur }// Daha iyi yaklaşım StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // Aynı tamponu yeniden kullanır } String result = builder.toString();
// Öngörülebilir dallar JIT optimizasyonuna yardımcı olur
if (value > 0) {
// Kod A - sık kullanılan yol
} else {
// Kod B - nadiren kullanılan yol
}
Java'da Kod Optimizasyonu