Ein besonders interessanter Aspekt der Optimierung liegt in der Verwendung von Optimierungstools. Diese Tools werden oft erst so spät im Prozess eingesetzt, dass es extrem schwierig ist, etwaige Fehler auszubessern. Außerdem sind die meisten dieser Tools für meinen Geschmack zu kompliziert. Viele der angezeigten Berichte wirken geradezu erschreckend komplex. Ich will jedoch nur, dass das Tool mir sagt, was wirklich kaputt ist und wie ich es reparieren kann. Stattdessen zeigen diese Tools unzählige andere Dinge auf.
Wer ein solches Tool einsetzen will, sollte dies noch während der Entwicklung und Testphase tun, so dass man noch eingreifen kann, falls das Tool Elemente findet, die zu viel Zeit oder Ressourcen verbrauchen. In dieser Hinsicht können IDEs wie Oracle9i JDeveloper mit integrierten Tools zur Performance-Überwachung recht brauchbar sein.
Da Java Virtual Machines immer intelligenter und schneller werden, ist die Optimierung bei Java nicht mehr ganz so wichtig wie noch vor ein paar Jahren. Der Rückgriff auf einfache Java-Verbesserungen bringt daher nicht allzu viel. Wenn also die Verwendung der String-Klasse statt der StringBuffer-Klasse den Code lesbarer und leichter verständlich macht, sollte man String benutzen. Ein signifikanter Unterschied in der Performance dieser beiden Klassen wird nur dann feststellbar sein, wenn dieser Codeblock mehrere tausend Mal verwendet wird. Ist das in Ihrer Anwendung wirklich der Fall?
Optimierungs-Tricks
Hier einige Tricks zur Optimierung, die am ehesten einen unmittelbaren Erfolg versprechen:
- Datenbank-Zugriffe minimieren.
- Java-IO minimieren (z.B. das Lesen und Schreiben von Dateien).
- Daten, die nur gelesen werden, nach Möglichkeit immer zwischenspeichern.
- Wenn es nicht auf Abwärtskompatibilität ankommt, sollte man die aktuellste JDK-Version verwenden. JDK 1.4 brachte eine Menge Performance-Optimierungen gegenüber früheren Versionen mit sich, wobei diese Verbesserungen sich in zukünftigen Versionen fortsetzen dürften.
- Man sollte seine Anwendung nicht nur mit der JVM von Sun testen, sondern auch mit anderen JVMs.
- Performance-Probleme sollten immer als schwerwiegender Fehler (Bug) behandelt werden. Dadurch werden die Entwickler am ehesten dazu angehalten, etwas zu unternehmen, denn Bugs werden in der Regel immer verfolgt, wodurch auch der Entwicklerstolz zu einem Faktor wird.
Vereinfachen
Insgesamt ist seit dem Aufkommen von J2EE und verteilten Anwendungen das grundsätzliche Performance-Tuning in Java längst kein so großes Hindernis mehr wie noch vor ein paar Jahren. Man sollte sich also von alten Vorstellungen und Vorurteilen lösen und vor allem Wert auf einfaches Design legen, die Programmlogik gut durchdenken und sauberen, einfach zu pflegenden Code schreiben.
Neueste Kommentare
Noch keine Kommentare zu Optimale Java-Performance durch einfaches Design und klare Logik
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.