Java核心API -- 12(對象序列化和反序列化)

1. 對象序列化

    將一個對象轉換爲字節形式的過程就是對象序列化。序列化還有個名稱爲串行化,序列化後的對象再被反序列化後得到的對象,與之前的對象不再是同一個對象。

    1)對象序列化必須實現Serializable接口,但該接口無任何抽象方法,不需要重寫方法,只爲了標註該類可序列化。

    2)且同時建議最好添加版本號(編號隨便寫):serialVersionUID。版本號,用於匹配當前類與其被反序列化的對象是否處於同樣的特徵(屬性列表一致等)。反序列化時,ObjectInputStream會根據被反序列化對象的版本與當前版本進行匹配,來決定是否反序列化。 不加版本號可以,但是可能存在反序列化失敗的風險。

    3)JDK提供的大多數java bean都實現了該接口

    4)transient關鍵字:序列化時忽略被它修飾的屬性。

    5)對象的序列化使用的類:ObjectOutputStream

        writeObject(Object obj):①將給定對象序列化。②然後寫出。

    6)對象的反序列化使用的類:ObjectInputStream

        Object readObject():將讀取的字節序列還原爲對象


    案例28:

        wKiom1XFz9TyHdsFAANXrTVuejw190.jpg

        wKioL1XF0eLS9PekAAJxU4OAQGg665.jpg


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章