JAVA序列化

什么是JAVA序列化

Java 对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制;
相对的,仍可以将字节数组转换回 Java 对象原有的状态。

为什么需要序列化

  • 对象持久化,序列化的对象可以摆脱JVM的生命周期;
  • 网络数据传输 or RMI

序列化协议比较

序列化并非JAVA独有的概念,只要涉及网络传输,基本都需要序列化和反序列化操作
协议 优点 缺点
Object Serialize JAVA原生支持 字节数较大,无法跨语言
XML/JSON 格式清晰,跨语言 字节数较大,需要引用第三方类库
Google Protobuf 性能出众,跨语言 需要引用Protobuf类库
fast-serialization 性能出众,跨语言 需要引用Protobuf类库

如何实现JAVA序列化

当某类实现java.io.Serializable接口的时候,就标识着这个类可以被序列化和反序列化。当然了,在实践中不会如此简单,有诸多细节需要注意,鉴于网上已经有很多优秀的文章做了详尽的分析,在此不再赘述,可以参考以下链接:
深入理解JAVA序列化
Java序列化机制和原理

你可能感兴趣的:(JAVA序列化)