序列化和反序列化

序列化

参考网站: https://blog.csdn.net/u013870094/article/details/82765907

**(百度百科)**是将对象的状态信息转换成可以存储和传输的形式的过程。
在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

**(其他释义)**序列化:把对象转换为字节序列的过程称为对象的序列化。
反序列化:把字节序列恢复为对象的过程称为对象的反序列化。

形象一点(把对象存为文本格式为例)

​ new 一个实例出来后

​ 现在想把这个对象以txt文本的格式保存起来

​ 直接将该类以流的方式写到txt文件中去?确实是这样,但是这有个要求,必须实现序列化

​ 实现序列化的类才可以进行类似 传 / 存 之类的操作

​ 如何再将对象从刚刚存的txt文档中拿回来?还是用流再写进来,这就是反序列化

反序列化 将使用输入流读取刚刚txt文件,用一个对象来接收读入的值,拿到的就是之前存的那个实例数据

带有static修饰的字段不能被序列化

实现序列化的类会生成一个serialVersionUID的值

这个ID是实现了序列化的类的 ID, 反序列化时 将相同ID的对象放到相同ID的类中 若ID不同了就报异常

如果没有定义该ID java会指定一个随机数作为id ,如果后期修改过这个类的属性或者方法这个序列化的类会出现无法反序列化的现象,抛出异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值