Go to file
YuCheng Hu d6269c73cb 更新序列化列表的测试方法 2019-08-09 09:13:24 -04:00
src 更新序列化列表的测试方法 2019-08-09 09:13:24 -04:00
.gitignore update the build ignore file 2019-08-05 13:42:58 -04:00
README.adoc 修改文件名使用 jpg 2019-08-05 22:06:18 -04:00
build.gradle Change to different version of msgpack 2019-08-05 13:43:28 -04:00
gradlew 提交编译文件 2019-07-22 13:15:59 -04:00
gradlew.bat 提交编译文件 2019-07-22 13:15:59 -04:00
settings.gradle 提交编译文件 2019-07-22 13:15:59 -04:00

README.adoc

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= Serialize and Deserialize Java 示例程序

我们是在实际的数据处理的时候,需要使用 JSON 来序列化数据,但是又考虑到 JSON 在传输的时候数据过大,同时还有很多并不需要的垃圾文件。

== Protocol Buffer
我们才考虑到了 Protocol Buffer 提供的功能。

image::https://docs.ossez.com/protocol-buffers-docs/images/protocol-buffers-logo.jpg[]

=== Protocol Buffer 相关文档和资料
 * https://www.cwiki.us/display/Serialization/Protocol+Buffers - cwiki.us 的 Protocol Buffer WIKI
 * http://docs.ossez.com/protocol-buffers-docs/index.html - Protocol Buffer 技术资料

== MessagePack
简单来讲它的数据格式与json类似但是在存储时对数字、多字节字符、数组等都做了很多优化减少了无用的字符二进制格式也保证不用字符化带来额外的存储空间的增加。

MessagePack 是一个计算机的数据交换格式。

MessagePack 是一个二进制的格式用来表达简单的数据结构,例如数组和关联数组。

MessagePack 的目标尽量的简单和紧凑。官方的实现已经实现了多种语言,例如 C, C++, C#, D, Erlang, Go, Haskell, Java, JavaScript, Lua, OCaml, Perl, PHP, Python, Ruby, Scala, Smalltalk, 和 Swift。

MessagePack 的了解就是传输的数据格式都是二进制,可以节省用户的流量。

image::http://docs.ossez.com/messagepack-docs/images/messagepack-logo.jpg[]

=== MessagePack 相关文档和资料
 * https://www.cwiki.us/display/Serialization/MessagePack - cwiki.us 的 MessagePack WIKI
 * http://docs.ossez.com/messagepack-docs/index.html - MessagePack 技术资料


== 数据序列化和反序列化
* 序列化: 将数据结构或对象转换成二进制串的过程。
* 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。

image::https://docs.ossez.com/protocol-buffers-docs/images/protocol-buffers-serialization.png[]