Optimale Java-Performance durch einfaches Design und klare Logik

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:

  1. Datenbank-Zugriffe minimieren.
  2. Java-IO minimieren (z.B. das Lesen und Schreiben von Dateien).
  3. Daten, die nur gelesen werden, nach Möglichkeit immer zwischenspeichern.
  4. 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.
  5. Man sollte seine Anwendung nicht nur mit der JVM von Sun testen, sondern auch mit anderen JVMs.
  6. 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.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

2 Tagen ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

2 Tagen ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

2 Tagen ago

Sicherheitslücken in Überwachungskameras und Video-Babyphones

Schwachstellen aus der ThroughTek Kaylay-IoT-Plattform. Dringend Update-Status der IoT-Geräte prüfen.

2 Tagen ago

AWS investiert Milliarden in Cloud-Standort Brandenburg

Fast acht Milliarden Euro fließen in die deutsche Region der AWS European Sovereign Cloud. Das…

3 Tagen ago

DSL oder Kabel – Welcher Anschluss passt zu Ihnen?

Internet in den eigenen vier Wänden ist heutzutage nicht mehr wegzudenken. Denn egal, ob Homeoffice…

3 Tagen ago