Java プラットフォーム 1.2

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

コンストラクタの概要
PhantomReference(Object referent, ReferenceQueue q)
          指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。
 
メソッドの概要
 Object get()
          参照オブジェクトのリファレントを返します。
 
クラス java.lang.ref.Reference から継承したメソッド
clear, enqueue, isEnqueued
 
クラス 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

Java プラットフォーム 1.2

バグや機能要求の報告
新しい 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.