序列化机制允许将实现序列化的java对象转换成字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以备以后重新恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。
对象的序列化指将一个java对象写入IO流中,与此对应的是,对象的反序列化指从IO流中恢复该Java对象。
为了让某个类是可序列化的,该类必须实现如下两个接口之一:
Serializeable
Externalizable
1、Java 内置的序列化方式
public static void main(String[] args) throws Exception{
Object o = new Object();
//定义一个字节数组输出流
ByteArrayOutputStream os = new ByteArrayOutputStream();
//对象输出流
ObjectOutputStream out = new ObjectOutputStream(os);
//将对象写入到字节数组输出,进行序列化
out.writeObject(o);
byte[] oByte = os.toByteArray();
//字节数组输入流
ByteArrayInputStream is = new ByteArrayInputStream(oByte);
//执行反序列化
ObjectInputStream in = new ObjectInputStream(is);
Object b = in.readObject();
}