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

简介: 关于序列化协议,你需要知道的一些内容(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请求、传输数据量相对小,实时性要求相对低(例如秒级别)的服务。

相关文章
|
XML 存储 JSON
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
|
8月前
|
XML JSON 分布式计算
如何选择序列化协议:关键因素与场景分析
如何选择序列化协议:关键因素与场景分析
72 0
|
XML JSON JavaScript
【面试题精讲】常见序列化协议有哪些?
【面试题精讲】常见序列化协议有哪些?
|
8月前
|
存储 JSON 网络协议
【计算机网络】序列化,反序列化和初识协议
【计算机网络】序列化,反序列化和初识协议
|
8月前
|
C++
[序列化协议] --- protobuf
[序列化协议] --- protobuf
70 0
|
8月前
|
JSON 数据格式 C++
[序列化协议] --- JSON
[序列化协议] --- JSON
84 0
|
8月前
|
XML 存储 API
[序列化协议] --- XML
[序列化协议] --- XML
85 0
|
8月前
|
XML JSON Linux
[序列化协议] --- 简介
[序列化协议] --- 简介
74 0
|
8月前
|
存储 JSON 编解码
IM通讯协议专题学习(十):初识 Thrift 序列化协议
本文将带你一起初步认识Thrift的序列化协议,包括Binary协议、Compact协议(类似于Protobuf)、JSON协议,希望能为你的通信协议格式选型带来参考。
167 1
H8
|
安全 网络协议 Java
跨语言的艺术:Weblogic 序列化漏洞和 IIOP 协议
Weblogic序列化漏洞主要依赖于T3和IIOP协议,在通信交互方面存在诸多问题,如跨语言、网络传输等,给漏洞检测和利用带来诸多不便。在WhiteHat Labs的理念中,漏洞检测和利用是一项创造性的工作,应该以最简洁高效的方式实现,以保证漏洞的跨平台性和实用性。因此,我们实现了跨语言的IIOP协议通信方案来解决序列化漏洞问题。
H8
314 13