一文带你了解所有序列化

前言

  1. 啥叫序列化?

序列化是将对象的状态信息转换为可以存储和传输的过程。
——什么是可以存储,可以传输的?
在互联网时代,数据可以通过网络进行传输,数据在网络上传输用的是比特流;正常是通过网线电流传输数据,电流在计算机系统中表现为高电平和低电平,对应了计算机的0和1。这样网络传输主要就是比特流。
——至于无线传输为啥也是比特流,难道是为了统一的格式???(待研究)应该是调制解调器等东西。

2.序列化什么背景下诞生?
随着计算机的不断发展,上层的应用越来越丰富,已经不局限与纯粹的文本,多了音频,视频等各种丰富的格式,不同的软件也有自己不同的文件格式,为了在网络中进行传输,需要对不同的文件格式进行解析成比特流,然后在网络上进行传输。这种可以把不同文件格式转化为比特流的过程就叫做序列化。

序列化的本质就是把各种信息转换为比特流存储并且传输。

3.序列化的应用场景?
只要涉及数据网络传输的地方都需要使用序列化技术。

4.序列化的性能如何?
[参考文档]https://cloud.tencent.com/info/de1eb9ab24dbf74f95e3dc2d51db5ce1.html

5.主流的序列化技术?
从序列化的性能来看,protostuff和kryo明显性能更高。

  1. ProtoStuff技术:
    protostuff是基于protobuf的一种java序列化方式,它不需要写proto文件,直接进行多种格式的序列化操作。
    protobuf技术:protocol buffers是一种语言中立,平台无关,可扩展的序列化数据格式。可用于数据存储,通信协议等。protobuf诞生之初是为了解决google不同版本的服务器之间的协议。
    protobuf有两个特性:
    a. 数据易于扩展字段。
    b. 数据格式更加具有自我描述性。

protobuf学习文档参考:https://developers.google.com/protocol-buffers/docs/overview

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容