序列化Serializable,是指将JAVA对象转换为字符序列的过程,将对象的各属性保存起来,在适当的时候获取并使用。
反序列化是和序列化相反的过程,就是把字符序列转化为对象的过程。
在JAVA编码中被广泛提及,主要应用在以下情况中:
1.持久化存储数据;
2.进程间的远程通信。
JAVA对象Person的实例化seriaObject
private static final String FILE_NAME="d:/test.txt";
//序列化
FileOutputStream fos = new FileOutputStream(FILE_NAME);
ObjectOutputStream out=new ObjectOutputStream(fos);
out.writeObject(seriaObject);
out.close();
fos.close();
//反序列化
FileInputStream fis = new FileInputStream(FILE_NAME);
ObjectInputStream in=new ObjectInputStream(fis);
Object obj = in.readObject();
in.close();
fis.close();
注意:
1.不可被序列化类型变量:static,transient
2.serialVersionUID不可随意修改,在反序列化的时候serialVersionUID被修改的话,会失败。