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


6.3 ストリームプロトコルのバージョン

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 しか読み取ることができません。



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