Java IO序列化 writeObject(Object obj) readObject(Object obj)
优点:简单,不需要外部依赖;
缺点:序列化后二进制字节流较大,不利于网络传输。
注意:
XML序列化 toXML() fromXML()
xml的优点:跨语言、稳定可靠;
xml的缺点:序列化后二进制流比较大,网络传输效率低。
所以网络传输不使用xml格式,但是配置文件使用xml格式
将JSON串转化成字节流。
如Java的FastJson、JavaScript的eval()函数等。还有一些Nosql数据库、消息队列也支持Json序列化方式,如Redis存储对象时,使用JSON格式,使数据支持跨平台、可读性也更强。
Dubbo中的Hessian序列化
优点:序列速度快,可跨语言;
缺点:序列化后二进制占用比较大,不利于网络传输。
protobuf 编码解码 基于位运算,位运算速度快,位存储占用小。