目次 | 前の項目 | 次の項目 | Java オブジェクト直列化仕様 |
直列化されたストリームは、ストリーム規則を満たす任意のストリームによって表されます。
TC_CLASS
classDesc newHandle
TC_CLASSDESC
className serialVersionUID newHandle classDescInfo
(utf)
(long)
(byte)
// 終端記号および定数で定義
(short)<count>
fieldDesc[count]
(utf)
annotateClass
で書かれた内容
`B'
// byte`C'
// char`D'
// double`F'
// float`I'
// integer`J'
// long`S'
// short`Z'
// boolean
`[`
// 配列`L'
// オブジェクト
TC_ARRAY
classDesc newHandle (int)<size> values[size]
TC_OBJECT
classDesc newHandle classdata[] // 各クラスのデータ
SC_SERIALIZABLE
& classDescFlag &&SC_WRITE_METHOD
& classDescFlags)SC_SERIALIZABLE
& classDescFlag &&SC_WRITE_METHOD
& classDescFlagsSC_EXTERNALIZABLE
& classDescFlag &&SC_BLOCKDATA
& classDescFlagsSC_EXTERNALIZABLE
& classDescFlag&&SC_BLOCKDATA
& classDescFlags
PROTOCOL_VERSION_2 で
writeObject
または writeExternal
TC_BLOCKDATA (unsigned byte)<size> (byte)[size]
TC_BLOCKDATALONG (int)<size> (byte)[size]
TC_ENDBLOCKDATA
readExternal
でのみ解析可能(bytes)
object
PROTOCOL_VERSION_1
で writeExternal
によって書かれた
TC_STRING
newHandle (utf)
TC_REFERENCE
(int)
handle
TC_NULL
TC_EXCEPTION
reset (Throwable)
object reset
STREAM_MAGIC
STREAM_VERSION