前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java编解码

Java编解码

作者头像
黑洞代码
发布2021-01-14 15:38:25
9640
发布2021-01-14 15:38:25
举报

编解码

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 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档