串行化:本质上说就是一种数据格式。
序列化、反序列化具体含义:https://www.cnblogs.com/keyi/p/5955220.html
所有数据文件之间的传输底层都是字节数组的传输,八位一个字节。
网络间传输要使效率增加,主要还是串行化和压缩。
使用google protobuf来实现串行化 步骤如下:
1.下载google protobuf。
2.设计对象
标准javabean eg:
Class Person{
public Person(){}
private String name;
public void setName(String name){
this.name = name}
public Strng getName(){ return name }
}
3.描述对象
4.编译描述
cmd> protoc --java_out . xxx.proto (将xx.proto 编译 生成的文件放入当前文件夹(.))
5.导入源代码到项目中
6.使用对象
使用apach Avro来实现串行化
1.数据串行化系统
2.自描述语言。
数据结构和数据都存在文件中,跨语言
使用json格式存储数据
3.可压缩 + 可切割
4.使用avro
a.定义schema文件
b.读取schema并编译
java -jar avro-tools-1.8.0.jar compile schema emp.avsc .
c.使用java类