知行合一

博客园 首页 新随笔 联系 订阅 管理

一、序列化/反序列化概念
何为序列化?把对象转换为字节序列的过程称为对象的序列化。
何为反序列化?把字节序列恢复为对象的过程称为对象的反序列化。

 

二、常用序列化框架

1、JSON序列化框架

JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。JSON可以支持任何数据类型,例如字符串、数字、对象、数组等。相对于XML,JSON码流更小,而且还保留了XML可读性好的优势。
JSON序列化常用的开源工具有Fastjson(阿里巴巴开源)、Jackson和Google开发的GSON。从性能角度来看,Jackson和Fastjson比GSON的性能好。从稳定性来看,Jackson、GSON相对Fastjson稳定性更好。
接下来,我们重点介绍Fastjson序列化框架,该框架的主要优点有:
Fastjson具有极快的性能。
功能强大,完全支持Java Bean、集合、Map、日期、Enum,同时支持泛型、支持自省等。
无依赖,能够直接运行在Java SE 5.0以上版本。
易用的API操作。

使用Fastjson进行序列化和反序列化非常简单,具体步骤如下所示。

步骤01 添加Fastjson依赖包,具体代码如下所示:

步骤02 开发序列化类JsonSerializer,简单封装序列化和反序列化接口

2、ProtoBuf序列化框架

Google Protocol Buffer(简称ProtoBuf)是一种轻便高效的结构化数据存储格式,与平台无关、与语言无关、可扩展,可用于通信协议和数据存储等领域。
ProtoBuf高性能解析且码流小,非常适合性能要求高的RPC调用。但是使用ProtoBuf需要编写.proto IDL文件,开发工作量稍大,且需要额外学习Proto IDL特有的语法。

posted on 2021-03-29 11:59  callbin  阅读(92)  评论(0编辑  收藏  举报