CONTENTS | PREV | NEXT | Java Object Serialization Specification |
A Serialized stream is represented by any stream satisfying the stream rule.
TC_CLASS
classDesc newHandle
TC_CLASSDESC
className serialVersionUID newHandle classDescInfo
(utf)
(long)
(byte)
// Defined in Terminal Symbols and Constants
(short)<count>
fieldDesc[count]
(utf)
annotateClass
`B'
// byte`C'
// char`D'
// double`F'
// float`I'
// integer`J'
// long`S'
// short`Z'
// boolean
`[`
// array`L'
// object
TC_ARRAY
classDesc newHandle (int)<size> values[size]
TC_OBJECT
classDesc newHandle classdata[] // data for each class
SC_SERIALIZABLE
& classDescFlag &&SC_WRITE_METHOD
& classDescFlags)SC_SERIALIZABLE
& classDescFlag &&SC_WRITE_METHOD
& classDescFlagsSC_EXTERNALIZABLE
& classDescFlag &&SC_BLOCKDATA
& classDescFlagsSC_EXTERNALIZABLE
& classDescFlag&&SC_BLOCKDATA
& classDescFlags
writeObject
writeExternal
PROTOCOL_VERSION_2
.
TC_BLOCKDATA (unsigned byte)<size> (byte)[size]
TC_BLOCKDATALONG (int)<size> (byte)[size]
TC_ENDBLOCKDATA
readExternal
(bytes)
object
writeExternal
PROTOCOL_VERSION_1
.
TC_STRING
newHandle (utf)
TC_REFERENCE
(int)
handle
TC_NULL
TC_EXCEPTION
reset (Throwable)
object reset
STREAM_MAGIC
STREAM_VERSION
TC_RESET
// so the objects of the exception do not
// overlap with the previously sent objects or
// with objects that may be sent after the
// exception