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