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.
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.
Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…
Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…
Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.
2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…
Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…
NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.