序列化目的是解决网络传输对象的问题,也就是说将一个jvm里的对象跨网络传输到另一个jvm里,然后进行恢复,而序列化就是将内存中的对象转化为字节流,以便存储和传输,而反序列化就是根据文件或网络上传递过来的对象字节流,根据内部保存的对象状态信息,将其重新构建出来。
序列化的前提是保证通信双方对一个对象的可识别性,所以我们一般会将对象转化为通用的解析格式,如json、xml,然后将其转化为数据流进行网络传输,从而实现对象跨语言跨平台的可识别性。
哪种序列化更适合?一 数据序列化后的大小,数据大小会直接影响传输性能。二 序列化性能,序列化耗时较长会影响业务性能。三、技术成熟度,越成熟越稳定。