今天学习到了序列化,但是却疑惑和持久化的区别。记录下心得。如有错误,欢迎指正,持续更新。
我们先看看定义:
内存中的数据对象只有转换成二进制才可以进行数据持久化和网络传输。
序列化:将对象转换成二进制流的过程。
反序列化:将二进制流恢复成数据对象的过程。
持久化:将数据对象保存在介质上。
二者的程度不同。序列化将对象转换成二进制流,持久化将对象转换成介质数据(先转成二进制再持久化)。
目的不同。序列化是保存当前对象的状态已方便重复使用。持久化是记录对象的某些属性或者状态。序列化偏向于程序运行状态,持久化偏向于业务属性状态。
应用场景不同。序列化使用在游戏存档,rpc远程调用,缓解当前内存压力。持久化使用在保存业务数据时。