Die Referenz-Warteschlange bietet sowohl blockierende als auch blockierungsfreie Methoden zum Entfernen von schwachen Referenzen aus der Warteschlange. Mehrere Strategien können angewendet werden, so z.B. das Abrufen der Warteschlange an wichtigen Stellen des Programms oder die Nutzung eines dedizierten Threads, um die Warteschlange zu durchlaufen und alle erforderlichen Bereinigungen durchzuführen.
Wie man sehen kann, wird zum Zeitpunkt seiner Erstellung jedes MyReference-Objekt bei einer Referenz-Warteschlange registriert. Und während MemoryBlocks vom Garbage Collector aufgesammelt werden, reihen sich deren entsprechenden Referenzobjekte in die Referenz-Warteschlange ein. Vor dem Ausdruck der ArrayList wurde die Warteschlange nach zu entfernenden null-Referenzen durchgesehen.
Listing A enthält die bekannte „Speicherverbrauchsklasse“ MemoryBlock während Listing B eine Beispiel-Anwendung darstellt, die über Referenzobjekte gehaltene MemoryBlocks in zunehmendem Maß verbraucht, so dass deren Speicherplatz bei Bedarf freigegeben werden kann. Die Beispiel-Anwendung bedient sich einer benutzerdefinierten Referenzklasse, MyReference, die von SoftReference abgeleitet wurde und in Listing C ersichtlich ist.
Abbildung A zeigt die Ausgabe dieses Beispiels. Man beachte, dass das Array nur die Referenzobjekte enthält, die auf gültige MemoryBlocks verweisen. Die vom Garbage Collector zurückgeforderten wurden entfernt.
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…