Frage zu Speicherverbrauch von Java-Applikation

So, nach einigen Testdurchläufen bin ich leider immer noch bei bzw. über 30MB Speicherauslasung. Ich habe sehr viele Sleep-Routinen in meinen Threads. Kann ich da noch was drehen?

Ich wundere mich auch woher der hohe Speicherverbrauch fürs Strings und Chars kommt. Soviel hab ich da ehrlichgesagt gar nicht. Die paar Beschriftungen können doch nicht wirklich soviel Speicher brauchen? Ansonsten habe ich auch noch viele Listeners für die GUI-Elemente. Naja.
 
Ein kleines Hallo-Welt beispiel mit 11 Buttons und sonnst nichts frisst bei mir gut und gerne 22Mb...
Wenn du noch ein paar Threads hast und ein paar Objekte mehr hin und her wirfst, dann kannst du natürlich ganz schnell auf 30MB kommen. Da würd ich mir aber in deiner Stelle keine Sorgen machen. Wenn es zu viel wird räumt Java schon von selbst auf.

Java:
import javax.swing.*;
import java.awt.*;

class HelloWorld extends JFrame {
    
    HelloWorld() {
        String hw = "Hello World";
        
        setLayout( new FlowLayout() );
        
        for( int i = 0; i < hw.length(); i++ ) {
            JButton button = new JButton( hw.substring( i, i+1 ) );
            getContentPane().add( button );
        }
        
        pack();
        setVisible( true );
    }
    
    public static void main( String[] args ) {
        new HelloWorld();
    }
}
 
Danke für das Beispiel. An dem Programm ist ja gar nichts dran und es braucht wirklich bereits ca. 22 MB. Da steh ich mit meinen aktullen 29 MB ja doch nicht so schlecht da, vor allem da ich jetzt mittels JProfiler noch einige Resourcenfresser eleminieren konnte.

Danke euch allen für Eure Hilfe! Hat mich echt weitergebracht!
 

Neue Beiträge

Zurück