CONTENTS | PREV | NEXT Java Object Serialization Specification


6.3 Stream Protocol Versions

It became necessary to make a change to the serialization stream format in JDK(tm) 1.2 that is not backwards compatible to all minor releases of JDK(tm) 1.1. To provide for cases where backwards compatibility is required, a capability has been added to indicate what PROTOCOL_VERSION to use when writing a serialization stream. The method ObjectOutputStream.useProtocolVersion takes as a parameter the protocol version to use to write the serialization stream.

Here are the Stream Protocol Versions:

  • Initial Stream Format.
  • New External Data format.
  • Primitive data written in block data mode.

    Terminates with TC_ENDBLOCKDATA.

  • Standardization of block data boundaries.
  • Primitive data written in block data mode is normalized to not exceed 1024 byte chunks. The benefit of this change was to tighten the specification of serialized data format within the stream. This change is fully backward and forward compatible.

    JDK(tm) 1.2 defaults to writing PROTOCOL_VERSION_2.

    JDK(tm) 1.1 defaults to writing PROTOCOL_VERSION_1.

    JDK(tm) 1.1.6 and greater can read both versions. Releases prior to JDK(tm) 1.1.6 can only read PROTOCOL_VERSION_1.



    CONTENTS | PREV | NEXT
    Copyright © 1997-1998 Sun Microsystems, Inc. All Rights Reserved.