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, 2014, Oracle and/or its affiliates. All rights reserved.