Praxisnahe Analyse, warum eine Java-Anwendung „leakt“ und ausbremst: vergessene Listener (
addActionListener/
removeActionListener), ewige statische Collections, nicht geschlossene Ressourcen (Tipp:
try-with-resources), anonyme/innere Klassen, die Referenzen halten, und Missbrauch von
System.gc(). Wir lernen, GC-Logs zu lesen (
-Xlog:gc*,
-XX:+PrintGCDetails), den passenden Collector zu wählen, Caches auf
WeakHashMap zu bauen, zu monitoren (
jvisualvm,
jconsole), Heap-Dumps zu analysieren und
-Xmx/
-Xms richtig zu konfigurieren. Am Ende – reale Beispiele für Leaks und deren Behebung.