1. 對象序列化
java
將一個對象轉換爲字節形式的過程就是對象序列化。序列化還有個名稱爲串行化,序列化後的對象再被反序列化後獲得的對象,與以前的對象再也不是同一個對象。ide
1)對象序列化必須實現Serializable接口,但該接口無任何抽象方法,不須要重寫方法,只爲了標註該類可序列化。spa
2)且同時建議最好添加版本號(編號隨便寫):serialVersionUID。版本號,用於匹配當前類與其被反序列化的對象是否處於一樣的特徵(屬性列表一致等)。反序列化時,ObjectInputStream會根據被反序列化對象的版本與當前版本進行匹配,來決定是否反序列化。 不加版本號能夠,可是可能存在反序列化失敗的風險。orm
3)JDK提供的大多數java bean都實現了該接口對象
4)transient關鍵字:序列化時忽略被它修飾的屬性。blog
5)對象的序列化使用的類:ObjectOutputStream接口
writeObject(Object obj):①將給定對象序列化。②而後寫出。ip
6)對象的反序列化使用的類:ObjectInputStreamget
Object readObject():將讀取的字節序列還原爲對象it
案例28: