解编码框架的比较(protobuf,thrift,Marshalling,xml)

1.ProtoBuf 

特点:

1.结构化数据存储格式

2.高效的解编码性能。

3.语言无关,平台无关,扩展性好。

4.官方支持java,c++,python三种语言。

5.性能比较好

(与之对比xml的重大缺点:xml的解析时间开销和xml为了可读性而牺牲的空间开销都非常大,所以xml不适合做高性能通协议,proto使用二进制编码,在空间和性能上有很大优势)

5.protobuf有数据描述文件与代码生成机制,文本化的数据描述语言,可以实现语言与平台无关。

6.通过标识字段的顺序,可以实现协议的向前兼容。

7.代码自动生成。

8.结构化的文档更容易管理和维护。

 

2.Thirft

Thirft源自FaceBook,可以作为高性能通信的中间件使用,支持数据序列化和多种类型的RPC服务。thirft适用于静态的数据交换,数据结构发生变化时,需要重新编译IDL文件(protobuf就不需要这样)性能测试感觉稍稍比protobuf好一些。

3.Marshualling

JBoss的marshalling是一个java对象的序列化API包,修正了JDK自带的序列化包的很多问题,但又保持跟java.io.Serializable接口的兼容。

相对于传统的java序列化机制,优点是

1.可插拔的类解析器,通过一个接口即可实现定制。

2.可插拔的对象替换技术,不需要通过继承的方式。

3.无需实现java.io.Serializable接口,即可实现java序列化。

通过缓存技术提供对象的序列化性能。

4.JBoss Marshalling更多在JBoss内部使用,应用范围有限。

xml

1.易读,好理解。

2.性能很差。

 

转载于:https://www.cnblogs.com/caobojia/p/6415635.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值