序列化进阶2-常见序列化框架

上一篇 序列化进阶1-Java序列化注意事项。Java 序列化还可以实现 深克隆哦。

在 Java 中存在一个 Cloneable 接口,通过实现这个接口的类都会具备clone 的能力,同时 clone 是在内存中进行,在性能方面会比我们直接通过 new 生成对象要高一些,特别是一些大的对象的生成,性能提升相对比较明显。深克隆和浅克隆在这就不谈了。Java 序列化实现深克隆的原理是把对象序列化输出到一个流中,然后再把对象从序列化流中读取出来,这个对象就不是原来的对象了。

序列化框架

开源工具

优势

劣势

Java

JAVA 语言本身提供,使用比较方便和简单

1. 不支持跨语言处理

2.性能相对不是很好,序列化以后产生的数据

相对较大

Xml

1.可读性好,方便阅读和调试
2. 具有语言无关性,所以还可以用于异构系统之间的数据交换和协议

序列化以后的字节码文件比较大,而且效率不高,适用于对性能不高,而且 QPS 较

低的企业级内部系统之间的数据交换的场景

Json

Jackson、FastJson、GSON

是一种轻量级的数据交换格式,相对于 XML 来说,JSON 的字节流更小,而且可读性也非常好

Hession

1.支持跨语言传输的二进制序列化协议
2.高性能和易用性

Protobuf

https://github.com/google/protobuf/releases

1.独立于语言、独立于平台

2.空间开销小和性能比较好

1.学习成本比较高

2.Protobuf 有独立的语法和编译器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值