• 关于序列化协议,你需要知道的一些内容(1)


    本篇开始我们来聊聊关于序列化协议需要知道的一些内容。

    问题【1】序列化协议分为哪几种?

    两种。序列化(编码)是将对象序列化为二进制形式(字节数组),主要用于网络传输、数据持久化等;而反序列化(解码)则是将从网络、磁盘等读取的字节数组还原成原始对象,主要用于网络传输对象的解码,以便完成远程调用。

    问题【2】影响序列化性能的关键因素有哪几点?

    序列化后的码流大小(网络带宽的占用)、序列化的性能(CPU资源占用);是否支持跨语言(异构系统的对接和开发语言切换)。

    问题【3】在常用序列化协议中,XML有哪些优点?

    XML的优点:人机可读性好,可指定元素或特性的名称。

    问题【4】在常用序列化协议中,XML有哪些缺点?

    序列化数据只包含数据本身以及类的结构,不包括类型标识和程序集信息;只能序列化公共属性和字段;不能序列化方法;文件庞大,文件格式复杂,传输占带宽。

    问题【5】在常用序列化协议中,XML的主要应用场景是?

    XML适用场景:当做配置文件存储数据,实时数据转换。

    问题【6】在常用序列化协议中,JSON和XML相比有哪些优点?

    JSON,是一种轻量级的数据交换格式,优点:兼容性高、数据格式比较简单,易于读写、序列化后数据较小,可扩展性好,兼容性好、与XML相比,其协议比较简单,解析速度比较快。

    问题【7】在常用序列化协议中,JSON和XML相比有哪些缺点?

    数据的描述性比XML差、不适合性能要求为ms级别的情况、额外空间开销比较大。

    问题【8】在常用序列化协议中,JSON的主要应用场景是?

    适用场景(可替代XML):跨防火墙访问、可调式性要求高、基于Web browser的Ajax请求、传输数据量相对小,实时性要求相对低(例如秒级别)的服务。

  • 相关阅读:
    redisson分布式限流[RRateLimiter]源码分析
    GBASE 8s 自定义存储过程和函数示例
    Python21天学习挑战赛Day(9)·操作MongoDB数据库
    Win7使用默认用户登录
    STM32F103单片机内部RTC实时时钟驱动程序
    C_C++文件,字符串和控制台格式化处理总结
    外汇天眼:店大欺客!capital.com能盈利竟全靠封锁账户鲸吞资产?
    图解ReentrantLock底层公平锁和非公平锁实现原理
    【autodesk】浏览器中渲染rvt模型
    生成对抗网络学习
  • 原文地址:https://blog.csdn.net/yokeyhui/article/details/128167837