序列化:把Java对象转换为字节序列的过程。
反序列化:把字节序列恢复为Java对象的过程。
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、相关对象的类型的信息和存储在对象中的数据的类型。
将序列化对象写入文件之后,可以从文件中读取出来,并且可以对其进行反序列化,创建对象的类型、对象的数据,还有中的数据类型在内存中处理中新建对象。
整个过程都是 Java 虚拟机(JVM)独立的,目的,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化对象。
类 ObjectInputStream 和 ObjectOutputStream 是高层次的数据流,它们包含反序列化和序列化对象的方法。
ObjectOutputStream 类包含很多写方法来写各种数据类型,但有一个特别的方法:
public final void writeObject ( Object x )抛出IOException
上面的方法序列化一个对象,将它发送到输出流。类似的 ObjectInputStream 类包含如下反序列化一个对象的方法:
public final Object readObject ( )抛出IOException , ClassNotFoundException
该方法从流中取出一个对象,用对象反序列化。它的返回值为对象,因此,你需要将它转换成合适的数据类型。
为了演示序列化在Java中是什么工作,我将使用之前的教程中没有的Employee类,假设我们定义了如下的Employee类,该类实现了Serializable接口。
了解更多java培训相关技术知识欢迎关注小编!