java.lang.ref
クラス PhantomReference
java.lang.Object
|
+--java.lang.ref.Reference
|
+--java.lang.ref.PhantomReference
- public class PhantomReference
- extends Reference
ファントム参照オブジェクトです。ファントム参照オブジェクトがキューに入れられるのは、キューに入れておかないとそれらのリファレントが再生される可能性があるとコレクタが判断したときです。ファントム参照オブジェクトは、ほとんどの場合、Java のファイナライズ機構よりも柔軟な方法で、プリモルテムクリーンアップアクションのスケジューリングを行うために使用されます。
ある時点で、ファントム参照のリファレントがファントム到達可能であるとガベージコレクタが判断した場合、その時点またはそのしばらくあとにガベージコレクタはその参照をキューに入れます。
再生可能なオブジェクトをそのままにしておくために、ファントム参照のリファレントを取り出すことはできません。ファントム参照の get
メソッドは、常に null
を返します。
ソフト参照および弱参照と違って、ファントム参照はそれらがキューに入れられるときにガベージコレクタによって自動的にクリアされません。ファントム参照を介して到達可能なオブジェクトは、すべてのファントム参照がクリアされるか、ファントム参照自身が到達不可能になるまで到達可能です。
- 導入されたバージョン:
- JDK1.2
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
PhantomReference
public PhantomReference(Object referent,
ReferenceQueue q)
- 指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。
- 例外:
- NullPointerException -
queue
引数が null
の場合
get
public Object get()
- 参照オブジェクトのリファレントを返します。ファントム参照のリファレントは常にアクセス不可能なため、このメソッドは常に
null
を返します。
- 戻り値:
null
- オーバーライド:
- クラス Reference 内の get
バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.