目次 | 前の項目 | 次の項目 Java オブジェクト直列化仕様


4.3 直列化された形式

ObjectStreamClass の直列化された形式は、その形式が表現する Class オブジェクトが直列化可能であるかどうか、外部化可能であるかどうか、またはダイナミックプロキシクラスであるか どうかによって異なります。

ダイナミックプロキシクラスを表現しない ObjectStreamClass インスタンスがストリームに書き込まれるとき、クラス名と serialVersionUID、フラグ、およびフィールド数が書き込まれます。クラスによっては、その他の情報 が書き込まれることもあります。

ObjectOutputStream は、ダイナミックプロキシクラスの ObjectStreamClass 記述子を直列化するとき、その Class オブジェクトを java.lang.reflect.Proxy の isProxyClass メソッドに渡したときの決定に従って、ダイナミックプロキシクラスが実装するインタフェース数を記述し、その後に インタフェースの名前を続けます。ダイナミックプロキシクラスの Class オブジェクトの getInterfaces メソッドの呼び出しから返される順序に従ってインタフェースがリストされます。

ダイナミックプロキシクラスおよび非ダイナミックプロキシクラスの ObjectStreamClass 記述子の直列化表現は、使用するタイプコードの種類 (TC_PROXYCLASSDESC および TC_CLASSDESC のどちらか) 別に分類されます。 文法の仕様の詳細は「6.4 ストリーム形式の文法」を参照してください。



目次 | 前の項目 | 次の項目
Copyright © 1997-1999 Sun Microsystems, Inc. All Rights Reserved.