Zwischenspeichern: Mit Javas Referenzobjekten ein Kinderspiel

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.


Abbildung A: Ergebnisse nach der Ausführung
von MemoryTest3. (Abbildung vergrößern)

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

3 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

3 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

6 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

6 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

6 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

7 Tagen ago