对象的序列化机制

1. 对象的序列化机制

对象序列化机制是把内存中的Java对象转换成平台无关的二进制流,这种二进制流可以保存在文件中或通过网络传输出去,当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。

1.1 序列化过程

使用ObjectOutputStream实现,将内存的Java对象转化为二进制流保存到文件中或通过网络传输出去。

1.2 反序列化过程

使用ObjectInputStream实现,将文件或网络的二进制流转化为Java对象。

2. 自定义类实现序列化

  • 自定义类需要实现Serializable接口。
  • 定义一个全局常量static final long serialVersionUID = 4221545455L,唯一标识一个类,反序列化会根据这个ID判断是否是同一个类。
  • 要求自定义类的属性也是可序列化的,基本数据类型默认是可以序列化的,引用数据类型需要实现Serializable接口。

注意:

  • 如果不声明serialVersionUID系统会自己声明一个,但是如果修改此类的话会导致serialVersionUID改变,进而导致反序列化失败报InvalidClassException异常。
  • 类中的属性如果声明为transient或static不会序列化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值