Kategorien
buntes, statistisches

Warum ich Java nicht mag

java-programmierer_sind_mist

„Der GC wird’s schon richtig“ passiert mir zu häufig bei Java-Applikationen, in diesem Fall eine nicht weiter aufwändige Web-Applikation mit ungefähr 400 Benutzern – zur Haupnutzungszeit müllt das Miststück den Heap in 20 bis 30 Minuten um rund 7 GB zu.

Ich vermute[1], dass die Entwickler beim XML-Parsen die Xerces-Instanz nicht sauber beenden, sondern auf den GC vertrauen, der dann ja schon irgendwann die nicht mehr genutzten Klassen finalisiert und _irgendwann_ aus dem RAM wirft. Bei uns ist dieses irgendwann rund 8 Stunden nach Ende der Hauptarbeitszeit erreicht, erst dann sinkt der Heap-Verbrauch der defakto seit *Stunden*[2] ungenutzten Applikation auf unter 1 GB.

Meiner Meinung nach krankt Java vor allem daran, dass es zu unsauberem programmieren verführt – und, total enterprisey, dann Frameworks über Frameworks gestapelt werden, ohne dass sauber designt wird.

Rant Ende.

[1] simples Class-Histogramm, auf den Code habe ich keinen Zugriff und zum Dekompilieren ist es noch nicht kritisch genug
[2] aufgrund unserer Kundenstruktur ist das Nutzungsverhalten stark zyklisch und vorhersehbar

Von renke

IT-Ratte (oder Systemadministrator), hat nen neues Spielzeug gekriegt und wird die "Genese" des Servers hier bebloggen.

21 ist nur die halbe Wahrheit.