Optimasi Kode di Java
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
Manajemen Memori Manual (C/C++)
$$
Garbage Collection di Java

Trade-off Performa GC
$$
Algoritma GC
// Buruk - Membuat banyak objek berumur pendek for (int i = 0; i < 1000000; i++) { new Object(); // Langsung menjadi sampah }// vs. Menggunakan ulang objek Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // Hanya satu referensi }
// Hindari ini pada kode kritis performa String result = ""; for (int i = 0; i < 100000; i++) { result += i; // Membuat String baru tiap iterasi }// Pendekatan yang lebih baik StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // Gunakan buffer yang sama } String result = builder.toString();
// Cabang yang dapat diprediksi membantu optimasi JIT
if (value > 0) {
// Kode A - jalur sering diambil
} else {
// Kode B - jarang diambil
}
Optimasi Kode di Java