protoBuf_为什么要使用protoBuf编码?

我们在日常码代码的时候通常会有涉及到对象的序列化和反序列化;因为TCP协议只能发送字节流,所以需要应用层将Java对象序列化成字节流,数据接收端在反序列化成Java对象。目前我们常用的序列化和反序列化编码是–JSON
当然编码方式除了JSON之外还有XML或者是Java内置的编码和序列化机制,但是为什么我今天会提出protoBuf这种编码方式?肯定是有原因的!!
1、首先,使用JSON,将对象转换成JSON字符串,通常应用在web应用或者移动开发等方面,是基于http请求的一种方式,主要是因为他的可读性高,缺点也很明显,那就是性能差,同样的一段信息使用protoBuf编码后的大小是使用JSON编码的3分之一甚至更小
2、然后,使用XML编码,XML编码和JSON类似,都是数据在序列化成字节流之前,转换成字符串。可读性强,性能差
3、最后当使用Java内置的编码和序列化机制,可移植性强,性能稍差。无法跨平台
既然说了其他编码方式的不好,也得说说使用protoBuf编码的好处了:
protoBuf是一个高性能、易扩展的序列化框架,通常在TCP Socket通讯(RPC调用)相关的应用中使用;本身非常简单,易于开发,并且结合Netty框架可以方便快捷的实现一个RPC应用程序,同事Netty也为protoBuf解决了有关Socket通讯中“半包,粘包”等问题(不知道的动手查)
因为protoBuf是Google公司的,所以官方文档都是英文,不过我这么好,肯定会给大家福利啊,下面的链接是我在学习protoBuf过程中看到的非常好的一位博主翻译的文档,大家可以去看一看
https://www.jianshu.com/p/bdd94a32fbd1

END

这篇只是随便写一下,大家先了解一下,然后下一篇博客我会写个小Demo🤳

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

new_repo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值