首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java编解码

Java编解码

作者头像
黑洞代码
发布于 2021-01-14 07:38:25
发布于 2021-01-14 07:38:25
1.1K0
举报

编解码

Java序列化的目的主要有两个:

1.对象序列化

2.网络传输

当进行远程跨进程服务调用时,需要把被传输的对象转化为字节数组或者ByteBuffer对象。当远程服务读取到字节数组或者ByteBuffer对象时,需要将其解码为Java对象。这就是所谓的Java对象编解码技术。

Java序列化

Serializable

JDK1.1已经提供序列化功能,不需要额外的类库。一般远程调用(RPC)很少使用Java自带的序列化进行消息的编解码和传输。

Java序列化缺点:

无法跨语言

序列化后的码流太大

序列化性能低

主流编码框架

Google的Protobuf

特点:

结构化数据存储格式

编码性能高

语言无关,平台无关,扩展性好

支持Java,C++和Python

FaceBook的Thrift

Thrift支持三种典型的编解码方式

通用二进制编解码

压缩二进制编解码

优化的可选字段压缩编解码

Marshallling

可插拔的类解析器

可插拔的对象替换技术

可插拔的预定义缓存表

无需实现Serializable

缓存技术提高对象序列化性能

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落叶飞翔的蜗牛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档