CONTENTS | PREV | NEXT | Java Object Serialization Specification |
Feb 6, 1998 Updates for JDK(tm) 1.2 Beta 3
- Introduced the concept of STREAM_PROTOCOL versions. Added the
STREAM_PROTOCOL_2
version to indicate a new format forExternalizable
objects that enable skipping by anExternalizable
object within the stream, even when the object's class is not available in the local Virtual Machine. Compatibility issues are discussed in Section 6.3, "Stream Protocol Versions."The ObjectInputStream.resolveClass
method can return a local class in a different package than the name of the class within the stream. This capability enables renaming of packages between releases. TheserialVersionUID
and the base class name must be the same in the stream and in the local version of the class. See Section 3.1, "The ObjectInputStream Class."- Allow substitution of
string
orarray
objects when writing them to or reading them from the stream. See Section 2.1, "The ObjectOutputStream Class" and Section 3.1, "The ObjectInputStream Class."
Sept. 4, 1997 Updates for JDK(tm) 1.2 Beta1
- Separated the Replaceable interface into two interfaces: Replaceable and Resolvable. The Replaceable interface allows a class to nominate its own replacement just before serializing the object to the stream. The Resolvable interface allows a class to nominate its own replacement when reading an object from the stream. See Section 1.12, "The Replaceable & Resolvable Interfaces."
- Modified serialization to use the JDK(tm) 1.2 security model. There is a check for SerializablePermission "enableSubstitution" within the
ObjectInputStream.enableReplace
andObjectOutputStream.enableResolve
methods. See Section 2.1, "The ObjectOutputStream Class" and Section 3.1, "The ObjectInputStream Class."- Updated
writeObject
's exception handler to write handled IOExceptions into the stream. See Section 2.1, "The ObjectOutputStream Class."
July 3, 1997 Updates for JDK(tm) 1.2 Alpha
- Documented the requirements for specifying the serialized state of classes. See Section 1.5, "Specifying Serializable Fields and Data for a Class."
- Added the Serializable Fields API to allow classes more flexibility in accessing the serialized fields of a class. The stream protocol is unchanged. See Section 1.7, "Accessing Serializable Fields of a Class," Section 2.2, "The ObjectOutputStream.PutField Class," and Section 3.2, "The ObjectInputStream.GetField Class."
- Clarified that field descriptors and data are written to and read from the stream in canonical order. See Section 4.1, "The ObjectStreamClass Class."