public class PhantomReference<T> extends Reference<T>
ある時点で、ファントム参照のリファレントがファントム到達可能であるとガベージコレクタが判断した場合、その時点またはそのしばらくあとにガベージコレクタはその参照をキューに入れます。
再生可能なオブジェクトをそのままにしておくために、ファントム参照のリファレントを取り出すことはできません。ファントム参照の get
メソッドは、常に null
を返します。
ソフト参照および弱参照と違って、ファントム参照はそれらがキューに入れられるときにガベージコレクタによって自動的にクリアされません。ファントム参照を介して到達可能なオブジェクトは、すべてのファントム参照がクリアされるか、ファントム参照自身が到達不可能になるまで到達可能です。
コンストラクタと説明 |
---|
PhantomReference(T referent, ReferenceQueue<? super T> q)
指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。
|
public PhantomReference(T referent, ReferenceQueue<? super T> q)
null キューでファントム参照を作成できますが、作成された参照はまったく役に立ちません。作成された参照の get メソッドは常に null を返します。また、キューを持たないので、キューに入りません。
referent
- 新しいファントム参照が参照するオブジェクトq
- 参照が登録されるキュー。登録が必要ない場合は null バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.