🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
序列化(Serialization)是指把结构化对象转化为字节流。 反序列化(Deserialization)是序列化的逆过程,把字节流转为结构化对象。 <br/> <mark>当要在进程间传递对象,或网络之间传输对象,或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化</mark>。 <br/> Java 的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带很多额外的信息(各种校验信息,header,继承体系…),不便于在网络中高效传输;所以,<ins>hadoop 自己开发了一套序列化机制( Writable)</ins>,精简,高效。不用像java对象类一样传输多层的父子关系,需要哪个属性就传输哪个属性值,大大的减少网络传输的开销。<br/> Writable 是 Hadoop 的序列化格式,hadoop 定义了这样一个 Writable 接口。一个类要支持可序列化只需实现这个接口即可。 ```java public interface Writable { void write(DataOutput out) throws IOException; void readFields(DataInput in) throws IOException; } ```