JavaTM 2 Platform
Std. Ed. v1.3

java.lang.ref
クラス PhantomReference

java.lang.Object
  |
  +--java.lang.ref.Reference
        |
        +--java.lang.ref.PhantomReference

public class PhantomReference
extends Reference

ファントム参照オブジェクトです。ファントム参照オブジェクトがキューに入れられるのは、キューに入れておかないとそれらのリファレントが再生される可能性があるとコレクタが判断したときです。ファントム参照オブジェクトは、ほとんどの場合、Java のファイナライズ機構よりも柔軟な方法で、プリモルテムクリーンアップアクションのスケジューリングを行うために使用されます。

ある時点で、ファントム参照のリファレントが「ファントム到達可能」であるとガベージコレクタが判断した場合、その時点またはそのしばらくあとにガベージコレクタはその参照をキューに入れます。

再生可能なオブジェクトをそのままにしておくために、ファントム参照のリファレントを取り出すことはできません。ファントム参照の get メソッドは、常に null を返します。

ソフト参照および弱参照と違って、ファントム参照はそれらがキューに入れられるときにガベージコレクタによって自動的にクリアされません。ファントム参照を介して可到達であるオブジェクトは、すべてのファントム参照がクリアされるか、ファントム参照自身が不可到達になるまで可到達です。

導入されたバージョン:
1.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 を返します。
オーバーライド:
クラス Reference 内の get
戻り値:
null

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.