目次 | 前の項目 | 次の項目 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-2001 Sun Microsystems, Inc. All Rights Reserved.