专业一点的解释:
http://www.cnblogs.com/zhjjNo1/archive/2009/07/06/1517843.html
通俗版序列化:
- 应该是说一个数据结构,比如二叉树之类,序列化以后会变成一个char数组或者一个string字符串这样,方便你存到文件里面或者通过网络传输。
- 然后要恢复的时候就是“反序列化”,把文件里读出来/从网络收到的char数组或者string恢复成一棵二叉树或者其他什么东西。
- 主要就是方便保存和网络传输
- 有抽象数据结构的数据怎么传输呢?
比如二叉树,它数据有什么枝节点叶子节点,和数组不同它不是线性的。
在tcp协议传输数据的时候,把网络看作一个“流”(类似管道),数据从一边流进去从另一边流出来,但是二叉树要塞到这个“流”里面怎么塞……只能把它变成数组类似的东西,到了另一边再恢复成二叉树。
Spark等分布式性能优化:
RDD序列化方式保存,可以减少内存,并且优化网络传输。