JAVA基礎 之 關於序列化與反序列化
阿新 • • 發佈:2018-11-10
序列化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被修改的話,會失敗。