• 序列化与反序列化


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

    二、常用序列化框架

    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特有的语法。

  • 相关阅读:
    Go对比其他语言新特性2(函数、包、错误处理)
    计算机基础知识
    GO的下载和环境配置,Goland编译器的配置和初始化项目
    软件工程第五次作业
    软件工程第四次作业
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    软件工程结对第二次作业
    软件工程结对第一次作业
  • 原文地址:https://www.cnblogs.com/callbin/p/14591780.html
Copyright © 2020-2023  润新知