前言:杜绝八股取士,活学活用从我做起,本文将会从简单的维度入手,分析序列化到底是什么?为什么要用?怎么用?有什么坑?希望能帮助到更多学习道路上的同学
1:是什么?
简单来说,序列化就是把内存中的对象通过一定的规则转换成字节序列,然后保存到磁盘,反序列化就是从磁盘中读取对应的字节序列出来恢复成原来那个对象,也可以说是根据字节序列“创建”出原来那个对象,我们都记得创建对象的几种方式:new,clone,reflect,序列化与反序列化。
2:为什么要用?
首先很明显就是保存某个对象在某一时期的某种状态,又或者为了保存某个对象的信息,你把它序列化后,可以保存在mysql数据库,也可以通过Socket进行传输,也可以保存到txt文件中,反正随便放,到时候读取出来再反序列化就可以,好处就是节约内存,如果有大量的对象,不能丢弃回收内存,但是内存空间又不足,这个时候可以考虑把一部分序列化保存到磁盘上,要用的时候再通过反序列化找回来。
3:怎么用?
(1)定义一个Student类
public class Student implements Serializable {
private static final long serialVersionUID = -580978257827294399