Das Performance-Handbuch: FAQ

Aus Wikibooks


Dieser Teil gibt Antworten auf einige Fragen, die regelmäßig gestellt werden. Ein Großteil der Punkte zeigt sekundär andere Möglichkeiten, Performance-Eigenschaften zu nutzen.

Java[Bearbeiten]

Die Sun-JVM scheint nicht mehr als 64 MB Speicher verwenden zu können![Bearbeiten]

Die JVM von Sun arbeitet standardmäßig mit einer maximalen zugewiesenen Speichergröße von 64 MB. Soll der Sun-JVM mehr als 64 MB sofort zugewiesen werden, so müssen beide Werte verändert werden. Beispiel: Es soll 80 MB der Anwendung „Start“ sofort zugewiesen werden. Ein Speicherverbrauch bis zu 128 MB sei erlaubt.

Lösung: „java –Xms80m –Xmx128m Start“

Wie kann ich die Dead-Code-Optimierung zu Debugzwecken nutzen?[Bearbeiten]

Die Dead-Code-Optimierung des Compiler bedeutet, dass nicht erreichbarer Quelltext bei der Erzeugung von Java-Bytecode nicht berücksichtigt wird. Um dies zu Debugzwecken zu nutzen, deklarieren Sie eine statische Variable vom Typ boolean. Diese können Sie mit Hilfe von if-Verzweigungen nutzen. Setzen Sie den Wert auf false (für die Auslieferung) wird weder die if-Anweisung noch der enthaltende Quelltext in Bytecode übersetzt.

public static final boolean debug = true;
//...
if (debug){
  System.out.println („Debugmodus aktiviert“);
}
//...

Ich habe nicht so viel Festplattenkapazität. Kann ich eine Version der JRE mit geringerem Platzbedarf betreiben?[Bearbeiten]

Es gibt hier mehrere Möglichkeiten den Platzbedarf einer JRE zu minimieren. Sofern Sie Java-Anwendungen betreiben, welche eine JRE mit einer niedrigeren Versionsnummer benötigen, sollten Sie diese installieren. Besonders der Umstieg auf Java 2 kann hier den Platzbedarf in die Höhe treiben.

Evtl. bietet sich auch ein Obsfucator für Ihre eigentliche Anwendung an. Mit diesem kann als Nebeneffekt die Größe des Bytecode deutlich verringert werden.

Ein weiterer Punkt ist die Datei „classes.zip“ neu zu packen. In dieser befinden sich die Dateien, welche die JRE zur Ausführung Ihrer Anwendung benötigt. Es handelt sich jedoch nicht zwingend um ein nicht komprimiertes Archiv. Ein Komprimieren kann auch hier den Platzbedarf senken.

Letztendlich bleibt noch die Möglichkeit ein anderes SDK zu verwenden. Ähnlich wie die Enterprise Edition gibt es auch SDKs und daran angelehnt spezielle JREs für Geräte mit wenig Speicher.