ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
570
570
EMPFEHLEN
-
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
-
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.
-
03.11.04 13:41 #3
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
-
03.11.04 14:01 #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ß TomJava 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
-
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
-
Spring Application Context - wird er durch den Garbage Collector freigegeben?
Von DarthShader im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 24.08.10, 15:51 -
Applet, garbage collector wird nicht ausgeführt
Von lazydog im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 07.05.09, 18:59 -
Frage zum garbage collector
Von jeipack im Forum JavaAntworten: 4Letzter Beitrag: 09.04.09, 10:23 -
Garbage Collector in C#?
Von Benny_Ben_Ben im Forum .NET CaféAntworten: 1Letzter Beitrag: 30.04.07, 09:15 -
Garbage-Collector!
Von lernen.2007 im Forum JavaAntworten: 2Letzter Beitrag: 28.12.05, 14:46





Zitieren

Login





