Java では、ターゲット オブジェクト A が弱参照 B によってのみ到達される場合、A は GC になる可能性があります。弱い参照 B が同時に強い参照 C に到達するとどうなりますか? たとえば、C は、A を指す弱参照 B のフィールドを含むクラス インスタンスを指します。C が有効であり、obj A への弱参照または強参照が他にない場合、A は依然として GC でありえますか?
1 に答える
0
はい、リンクとして 1 つの弱い参照があるため、弱い到達可能性があると見なされます。弱い参照に関するウィキペディアのエントリには、(一部)と書かれています
弱参照は、強参照とは異なり、ガベージ コレクターによるコレクションから参照先オブジェクトを保護しない参照です。弱参照のみによって参照されるオブジェクト (「オブジェクトに到達するすべての参照チェーンには、リンクとして少なくとも 1 つの弱参照が含まれる」ことを意味します) は、弱到達可能と見なされ、到達不能として扱われる可能性があるため、いつでも収集される可能性があります。
于 2015-08-10T03:19:04.910 に答える