JavaTM 2
Platform
Std. Ed. v1.4.0

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)
指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。

パラメータ:
referent - 新しいファントム参照が参照するオブジェクト
q - ファントム参照を登録するキュー
例外:
NullPointerException - queue 引数が null の場合
メソッドの詳細

get

public Object get()
参照オブジェクトのリファレントを返します。ファントム参照のリファレントは常にアクセス不可能なため、このメソッドは常に null を返します。

オーバーライド:
クラス Reference 内の get
戻り値:
null

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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