1.什么序列化
序列化:把对象转化为可传输的字节序列过程称为序列化。
反序列化:把字节序列还原为对象的过程称为反序列化。
2.为什么要序列化
可能上面的概念不好理解,我们换个角度,先思考为什么需要序列化。
其实序列化最终的目的是为了对象可以跨平台存储,和进行网络传输。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组。
举个例子🍐:
我们要把一架飞机🚁(一个对象)运送到某个地方,但是因为飞机太大,不能直接整架运走,所以我们需要将它拆解成小部件(序列化),然后再运输,等到了目的地再组装成原来的样子(反序列化),这就是序列化和反序列化。
3.实例演示
控制台打印结果如下👇
4.常见的序列化的方式
- JDK(不支持跨语言
- JSON
- XML
- Hessian
- Kryo(不支持跨语言
- Thrift
- Protostuff
- FST(不支持跨语言)
如有错误,欢迎留言指正