Java序列化原理
2024-06-19 11:00:44 0 举报
Java序列化是一种机制,可以将对象的状态信息转换为字节流,从而实现对象在网络中的传输和持久化存储。序列化的核心内容包括:首先,需要让对象实现Serializable接口,该接口没有任何方法,仅用于标识可序列化的类。然后,使用ObjectOutputStream类的writeObject()方法将对象序列化为字节流。反序列化时,使用ObjectInputStream类的readObject()方法将字节流转换回对象。注意,序列化可能引发安全问题,如反序列化炸弹攻击,因此需要谨慎处理序列化数据。
作者其他创作
大纲/内容
基础类型数据2
类描述
1
字节数
对象中基础类型数据
0x72
超类描述
8
代理类
NULL
0x78
字段类型(不一定存在)
0xaced
对象数据
非代理类
字段... n
基础类型数据1
数组长度
0x73
可变
5
4
接口个数n
数据部分,基本数据类型或者引用类型数据
String
0x75
已被序列化的类
flags
字段1
UTFBody字节数
0x7E
引用类型数据
Handle
版本标识
引用类型数据2
接口名2
0x71
Class
引用类型数据..n
UTFBody
类名
0x74 或 0x7c
serialVersionUID
2
接口名..n
Enum
魔幻数字
TypeCode
2或8
序号(baseWireHandle+handle)
子类描述
已被序列化过的对象
Array
引用类型数据1
对象中引用类型数据
字段2
接口名1
基础类型数据3
0x7D
字段名
对象
字段个数n
0x76
0 条评论
下一页