序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。
简单的说,序列化是将运行时的内存数据,转换为可持久的硬盘数据(字节码),反序列化就是读取数据到内存.
java中的默认实现是通过ObjectInputStream
与ObjectOutputStream
.
如果类实现了writeObject
或readObject
则调用,否则通过ObjectInputStream
与ObjectOutputStream
的defaultWriteObject
跟defaultReadObject
来实现.
类本身实现的writeObject
与readObject
可以用来对敏感信息进行加密解密.
ObjectOutputStream序列化对象:
public final void writeObject(Object x) throws IOException
ObjectInputStream反序列化对象:
public final Object readObject() throws IOException, ClassNotFoundException