javascript / expert
Snippet
Speichermanagement mit FinalizationRegistry
WeakRefs erlauben die Referenzierung eines Objekts, ohne dessen Garbage Collection (GC) zu verhindern. In Kombination mit FinalizationRegistry können Entwickler Bereinigungslogik ausführen oder externe Ressourcen präzise verwalten, sobald das Objekt vom Engine zurückgefordert wird.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
const registry = new FinalizationRegistry((key) => {console.log(`Resource ${key} was garbage collected`);});let cacheObject = { data: 'heavy_payload' };const weakRef = new WeakRef(cacheObject);registry.register(cacheObject, 'session_cache_01');// Simulate object losscacheObject = null;
nodejs
Erklärung
1
new WeakRef(cacheObject);
Erstellt eine Referenz, die das Objekt für die GC nicht am Leben erhält.
2
registry.register(cacheObject, 'session_cache_01');
Verknüpft das Objekt mit einem Callback, der bei dessen Zerstörung ausgelöst wird.