Zwischenspeichern: Mit Javas Referenzobjekten ein Kinderspiel

Sollten sich die Speicheranforderungen einer Anwendung rapide erhöhen, steht es dem Garbage Collector frei, alle ausschließlich über Referenzobjekte erreichbaren Objekte – auch unter dem Namen schwache Referenzen bekannt – einzusammeln und den von ihnen belegten Speicherplatz wieder freizugeben.

Im vorigen Artikel wurde beschrieben, wie Javas Referenzobjekte, SoftReference und WeakReference, genutzt werden können um mit einer einfachen Anwendung schwache Referenzen zu erstellen und Blöcke als regenerierbar zu kennzeichnen. Hier nun ein Blick auf ein etwas nützlicheres Beispiel davon, wie man mit Referenzobjekten einer Anwendung eine zwar einfache, aber dennoch sehr effektive Zwischenspeicherfunktion zur Verfügung stellen kann.


Weitere Informationen
Zusätzlich zu dem vorhergehenden Artikel ist es empfehlenswert, mehr über Javas Speicherbereinigungsprozess zu lesen. So empfiehlt sich z.B. „Reference Objects and Garbage Collection“ auf Suns Java-Website (in englischer Sprache).

Neudefinierung von Referenz-Warteschlangen

Ein Referenzobjekt setzt die Referenzierung auf null, wenn die von ihm gehaltene schwache Referenz beseitigt ist. Was wäre aber, wenn schwache Referenzen bei ihrer Beseitigung automatisch gelöscht werden könnten? Die Java-Plattform unterstützt diese Fähigkeit mit Referenz-Warteschlangen: Instanzen der java.lang.ref.ReferenceQueue-Klasse. Wenn eine schwache Referenz erstellt wird, kann diese bei einer Referenz-Warteschlange registriert werden, so dass sie beim Beseitigen der schwachen Referenz (d.h. wenn das referenzierte Objekt kurz vor der Garbage Collection steht) in die Referenz-Warteschlange eingereiht wird.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

10 Stunden ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

12 Stunden ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

13 Stunden ago

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

20 Stunden ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

21 Stunden ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

1 Tag ago