問題タブ [weakmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - GC を妨げずに、WeakMap 値オブジェクトからキー オブジェクトに参照を保存できますか?
GC はオブジェクト グラフの孤立した島を検出してメモリから削除する候補を見つけ、WeakMap は弱い参照で島の境界を壊さないWeakMap -> KeyObject
ため、この参照WeakMap -> Value -> KeyObject
が弱いWeakMap -> Value
参照で島の境界を壊さないことは理にかなっていますが、Value -> KeyObject
参照は明らかに強いです。
例:
javascript - メモリ リークのない WeakMap パターン シングルトン
オブジェクトへの参照がアプリケーションで使用されていない場合、オブジェクトをストレージから削除したい。ただし、アプリケーションにリンクが存在し、同じ ID のオブジェクトを作成しようとしている場合は、新しいオブジェクトを作成するのではなく、このオブジェクトを返します。デストラクタなしでそれを行うにはどうすればよいですか?
しかし、オブジェクトへのすべての参照がアプリケーションから消え、オブジェクトがストレージから削除された場合、オブジェクトの新しいインスタンスを作成することは悪いことではありません