


Warum bleiben Swing-Container der obersten Ebene nach „dispose()' und „gc()' bestehen?
Container der obersten Ebene während der Laufzeit entfernen
Beim Versuch, Container der obersten Ebene zur Laufzeit zu entfernen, stoßen Entwickler trotz der Verwendung von Methoden häufig auf den „Swing-Albtraum“ persistenter Container wie dispose() und gc().
Den Prozess verstehen
Um Container der obersten Ebene erfolgreich zu entfernen, Es ist wichtig zu verstehen, dass dispose() lediglich die Freigabe von Ressourcen anfordert, die dem schwergewichtigen Peer des Containers zugewiesen sind. Diese Freigabe erfolgt jedoch erst, nachdem das WINDOW_CLOSING-Ereignis in der EventQueue verarbeitet wurde.
Darüber hinaus garantiert der Aufruf von gc() keine sofortige Speicherrückgewinnung; es schlägt lediglich vor, dass der Garbage Collector darüber nachdenken sollte.
Ursachen des „Swing-Albtraums“
Der „Swing-Albtraum“ tritt auf, weil der Peer des Containers auch nach dem Auslösen von dispose() noch am Leben bleibt Das Ereignis WINDOW_CLOSING wird verarbeitet. Dies behindert die Bemühungen zur Speicherwiederherstellung, und wenn mehrere Container nacheinander erstellt und entsorgt werden, kann dies zu einer Kaskade nicht geschlossener Ressourcen führen.
Den Albtraum überwinden
Zwei Ansätze können dieses Problem effektiv angehen :
- Emergent: Erstellen Sie dadurch für jede Iteration neue VMs Zurücksetzen des Speicherverbrauchs.
- Dringend: Eliminieren Sie schwere Komponenten, indem Sie kopflos arbeiten und Grafiken nur mit leichten Komponenten rendern.
Zusätzliche Erkenntnisse
Profilerstellung Techniken können wertvolle Einblicke in das Problem des Speicherverbrauchs liefern. Tools wie jvisualvm können aufdecken, dass die regelmäßige Sammlung Schwierigkeiten hat, zum Ausgangswert zurückzukehren, was auf verbleibende Ressourcen hinweist.
Das obige ist der detaillierte Inhalt vonWarum bleiben Swing-Container der obersten Ebene nach „dispose()' und „gc()' bestehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Analyse- und Optimierungslösungen Aus dem Grund, warum Java -Cache -Daten nicht in Java -Projekten erhalten werden können, ist es üblich, große Datenmengen in den Speicher zu bringen, um schnellen Zugriff zu erhalten ...

Eingehende Java: Eine weltweite maschinelle Welt, die es wert ist, erkundet zu werden. Viele Java -Entwickler hoffen, ihre Technologie nach dem Beherrschen der grundlegenden Syntax und der häufig verwendeten Frameworks weiter zu verbessern ...

Häufige gestellte Fragen beim Füllen von zusammengefügten Zellen mit Easyexcel ...

Feldzuordnungsprobleme und Lösungen im Systemdocking. Während des Systemdockprozesses begegnen Sie häufig auf die Bedürfnisse, die Schnittstellenfelder eines Systems einem anderen zuzuordnen ...

In der Springboot -Anwendung wird PGJDBC Connection Pool PSQLEXception ausgelöst: Fehler: Die Ausnahme von DeckingStatementDuetouserRequest wird verwendet. Springboot mybatis-plus ...

Wie gestaltete ich einen Lotteriealgorithmus, um sicherzustellen, dass Sie kein Geld verlieren? Bei der Gestaltung eines Lotterieprodukts ist die Einstellung der Gewinnwahrscheinlichkeit jedes Preises eine wichtige Frage. Angenommen ...

Wie optimieren Sie die Filterung und Synchronisation von Hotspot -Daten? Bei der Umgang mit groß angelegten Datensynchronisation ist die effektive Filter von Hotspot-Daten zu einem zentralen Problem geworden. Angenommen, es gibt ...

Java Virtual Threading und Multithreading Parallel: Kompatibilitätsherausforderung bei der Java -Programmierung und die Einführung virtueller Threads bietet Entwicklern effizientere Verarbeitungsmethoden. � ...


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.