64.序列化与反序列化

1.常用编码器

DelimiterBasedFrameDecoder 解决TCP的粘包解码器
 StringDecoder 消息转成String解码器
 LineBasedFrameDecoder 自动完成标识符分隔解码器
 FixedLengthFrameDecoder 固定长度解码器,二进制
 Base64Decoder解码器

2.序列化与反序列化

序列化:把对象转换成字节的过程,称为对象序列化
序列化:把字节恢复成对象的过程,称为反序列化

3.两种序列化模式

1.对象的持久化概念:将对象转化成字节,存放到硬盘或者数据库中
2.网络传输对象概念: 客户端将对象序列化为字节(序列化),变成二进制的形式发送到服务器端,服务器端接受到字节对象后,反序列成对象

注意序列化的类必须要实现Serializable接口 transient修士变量不被序列化

4. 网络传输中如何实现对象的传输? 其次是跨语言 其他序列化实现方案 序列化协议

1.将对象转换成json 实现跨语言
客户端 将对象转换成json 传递给服务器端 序列化
服务器端 将对象转换成json 将json 反序列化
2.用XML格式序列化
3.ProtoBuf(谷歌第三方协议)
4、 messagePack
5.企业内部自定义序列化协议

5. json传输存在缺点

json: key value 网络传输不够精简
阅读性差

6.MessagePack编码器

它像 JSON,但是更快更小。
MessagePack 是一种高效的二进制序列化格式。它允许您在 JSON 等多种语言之间交换数据,但它更快速更小巧。小整数被编码为单个字节,典型的短字符串除了字符串本身之外只需要一个额外的字节。
支持Python、Ruby、Java、C/C++等众多语言。宣称比Google Protocol Buffers还要快4倍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值