Code optimaliseren in Java
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
Handmatig geheugbeheer (C/C++)
$$
Java's Garbage Collection

GC-prestatieafwegingen
$$
GC-algoritmen
// Slecht - Veel kortlevende objecten maken for (int i = 0; i < 1000000; i++) { new Object(); // Wordt meteen garbage }// vs. Objecten hergebruiken Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // Slechts één referentie }
// Vermijd dit in performance-kritieke code String result = ""; for (int i = 0; i < 100000; i++) { result += i; // Maakt elke keer een nieuwe String }// Betere aanpak StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // Hergebruikt dezelfde buffer } String result = builder.toString();
// Voorspelbare branches helpen JIT-optimalisatie
if (value > 0) {
// Code A - vaak genomen pad
} else {
// Code B - zelden genomen pad
}
Code optimaliseren in Java