CONTENTS | PREV | NEXT | Java Object Serialization Specification |
It was necessary to make a change to the serialization stream format in JDKTM 1.2 that is not backwards compatible to all minor releases of JDKTM 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 methodObjectOutputStream.useProtocolVersion
takes as a parameter the protocol version to use to write the serialization stream.The Stream Protocol Versions are as follows:
JDKTM 1.2 defaults to writing
ObjectStreamConstants.PROTOCOL_VERSION_1
Indicates the initial stream format.
ObjectStreamConstants.PROTOCOL_VERSION_2
Indicates the new external data format. Primitive data is written in block data mode and is terminated with TC_ENDBLOCKDATA.Block data boundaries have been standardized. 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.
PROTOCOL_VERSION_2
.
JDKTM 1.1 defaults to writing PROTOCOL_VERSION_1
.
JDKTM 1.1.7 and greater can read both versions.
Releases prior to JDKTM 1.1.7 can only read PROTOCOL_VERSION_1
.