Optimiser le code en Java
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
Gestion manuelle de la mémoire (C/C++)
$$
Collecte des ordures de Java

Compromis de performance du GC
$$
Algorithmes de GC
// À éviter : créer de nombreux objets de courte durée for (int i = 0; i < 1000000; i++) { new Object(); // Devient aussitôt un déchet }// Mieux : réutiliser des objets Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // Une seule référence }
// À éviter dans du code critique pour la performance String result = ""; for (int i = 0; i < 100000; i++) { result += i; // Crée une nouvelle String chaque fois }// Meilleure approche StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // Réutilise le même tampon } String result = builder.toString();
// Des embranchements prévisibles aident l'optimisation JIT
if (value > 0) {
// Code A - chemin souvent emprunté
} else {
// Code B - chemin rarement emprunté
}
Optimiser le code en Java