序列化:Java提供的一种对象序列化的机制,在该机制中,一个对象可以被表示为一个字节序列,该字节序列包括对象的数据、有关对象的类型的信息、和存储在对象中的数据类型。

反序列化:将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据、还有对象中的数据类型可以用来在内存中新建对象。

序列化与反序列化的过程都是Java虚拟机独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。类ObjectInputStream和ObjectOutputStream是高程次的数据流,他们包含序列化和反序列化对象的方法。

  • 一个简单的流程
    • 一个实现Serializable接口的JavaBean

clipboard.png

clipboard.png

    • 场景实现

clipboard.png

    • 运行后的结果

clipboard.png

    • 生成的文件

clipboard.png

  • 对基本数据类型的支持

clipboard.png

    • 运行结果

clipboard.png

    • 持久化的数据

clipboard.png

  • “序列化不会自动保存static和transient变量“,如果想要对其支持,必须复写writeObject()和readObject()的方法。
    • 一个实现Serializable接口的JavaBean

clipboard.png

    • 场景实现

clipboard.png

    • 运行结果

clipboard.png


雨露
98 声望16 粉丝