tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
570
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Serethos Serethos ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    127
    Hallo

    Hab ein Programm geschrieben wo ich ein JFrame erzeuge und dann durch betätigen eines Button ein zweites JFrame erzeuge. Bei beenden des Zweiten JFrame hab ich die Anweisung JFrame.setDefaultCloseOperation(JFrame.Dispose_on_close) bei denn Befehl hab ich gedacht das Danach der Garbage Collector anfängt und längsam die Benutzten Deklarationen killt, weil ich die doch nicht mehr verwände. Hab ich da Irgendwie ein Denkfehler oder Schließ ich das 2. Frame nur mit ein fälschen befehl

    Danke für Hilfe
     

  2. #2
    Avatar von Viper190
    Viper190 Viper190 ist offline Grünschnabel
    Registriert seit
    Oct 2004
    Ort
    Freising
    Beiträge
    3
    Durch ein reines Schließen der JFrames räumt der Garbage Collector
    dieses natürlich nicht auf.
    Der Garbage Collector wird erst aktiv wenn kein Zeiger mehr auf das
    JFrame zeigt.
    Damit er dein JFrame aus dem Speicher löscht musst du das JFrame auf NULL
    setzten.

    myJFrame = NULL;

    Ich weiß nicht ob du das wirklich beabsichtigst aber ich denke deine
    Frage ist damit beantwortet.
     

  3. #3
    Avatar von schnuffie
    schnuffie schnuffie ist offline Mitglied Platin
    Registriert seit
    Oct 2004
    Ort
    Ober-Roden (Hessen)
    Beiträge
    725
    Dein Problem könnte behoben sein, wenn Du stattdessen "EXIT_ON_CLOSE" für den Hauptframe festlegst und den zweiten JFrame als Kind des Ersten erzeugst.

    CU schnuffie
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Der Garabage Collector wird ein Objekt erst wegräumen, nachdem er keine Referenz mehr findet die auf dieses Objekt verweist. Auch wenn der JFrame (A) nicht mehr vom JFrame (B) referenziert wird kann er durchaus noch Referenzen auf andere Objekte halten und umgekehrt. Man denke hier etwa an EventListener etc.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    jean luc jean luc ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Hamburg
    Beiträge
    68
    Hallo,
    ich habe ein ganz ähnliches Problem. Ich öffne und schließe einige Fenster in meinem Programm.
    Ich schließe diese ganz normal mit dialog.dispose()
    Soll das gesagte nun heissen, dass ich danach noch dialog = null schreiben muss?

    Ich habe mein Programm mit einem Profiler analysiert. Dabei habe ich festgestellt, dass der Garbage Collector zwar die Objekte frisst, aber sich die Heapsize dabei nicht verkleinert. Schließlich stürzt das Programm nach einiger Zeit ab. Wie hängt die Anzahl der Objekte und die Heap Größe zusammen? Wieso frisst der GC Objekte aber der Speicher wird nicht frei?

    Ich bin hier am verzweifeln und hoffe auf eure Hilfe!

    SIMON
     

Ähnliche Themen

  1. Spring Application Context - wird er durch den Garbage Collector freigegeben?
    Von DarthShader im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 24.08.10, 15:51
  2. Applet, garbage collector wird nicht ausgeführt
    Von lazydog im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 07.05.09, 18:59
  3. Frage zum garbage collector
    Von jeipack im Forum Java
    Antworten: 4
    Letzter Beitrag: 09.04.09, 10:23
  4. Garbage Collector in C#?
    Von Benny_Ben_Ben im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 30.04.07, 09:15
  5. Garbage-Collector!
    Von lernen.2007 im Forum Java
    Antworten: 2
    Letzter Beitrag: 28.12.05, 14:46