8

Java には、弱参照をキーとして格納する WeakHashMap と呼ばれるデータ構造があります。弱い参照がメモリから取り出されるたびに、エントリはマップから削除されます。

弱参照を格納している Stack や Set などのデータ構造がある場合、弱参照がメモリから取り出されると、それらのエントリは自動的に削除されますか?

以下は、弱参照を格納する Stack の例です。

Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
4

2 に答える 2

2

はい。あなたが説明しているのは、WeakHashMap具体的にではなく、一般的に弱参照の特性です。

APIから:

ガベージコレクターが、ある時点でオブジェクトに弱く到達可能であると判断したとします。その時点で、そのオブジェクトへのすべての弱参照をアトミックにクリアします...

于 2012-08-10T21:56:38.127 に答える