目次 | 前の項目 | 次の項目 | Java オブジェクト直列化仕様 |
JDKTM 1.2 では、直列化ストリーム形式を、JDKTM 1.1 のすべてのマイナーリリースと下位互換性のない形式に変更する必要があります。下位互換性が必要な場合に備え、直列化ストリームの書き込み時に、どの PROTOCOL_VERSION を使用するかを示す機能が追加されています。メソッドObjectOutputStream.useProtocolVersion
は、直列化ストリームの書き込みに使うプロトコルのバージョンをパラメータにとります。
初期のストリーム形式を示します。 |
ObjectStreamConstants.PROTOCOL_VERSION_2
新しい外部データ形式を示します。プリミティブデータはブロックデータモードで書き込まれ、TC_ENDBLOCKDATA で終了します。 |
ブロックデータ境界は標準化されました。ブロックデータモードで書き込まれたプリミティブデータは、1024 バイトのデータのブロックを超えないように標準のデータ形式に戻されます。この変更の利点は、ストリーム内の直列化データ形式の仕様を強化することです。この変更は、完全に下位および上位互換性があります。 |
JDKTM 1.2 は、デフォルトではPROTOCOL_VERSION_2
を書き込みます。JDKTM 1.1 は、デフォルトでは
PROTOCOL_VERSION_1
を書き込みます。JDKTM 1.1.7 以降では、両方のバージョンを読み取ることができます。
JDKTM 1.1.7 より前のリリースでは、
PROTOCOL_VERSION_1
しか読み取ることができません。