java的序列化

java序列化
一個對象要被序列化需要實現Serializable接口,使用ObjectInputStream和ObjectOutStream進行對象的讀寫。


對象的序列化
public class A implements Serializable{
     private static final long serialVersionUID = 1L;
     private String name;
     public String getName(){
          return name;
     }
     public void setName(String name){
          this.name=name;
     }
}


序列化的作用
所謂Java的序列化是指,將對象實例的狀態存儲到存儲媒體的過程。在此過程中,先將對象的公共字段和私有字段以及類的名稱轉換爲字節流,然後再把字節流寫入數據流。在隨後對對象進行反序列化時,將創建出與原對象完全相同的副本。序列化是sun公司提出的一種統一的解決方案,它會把對象變成某個格式進行輸入和輸出。假設兩年前我保存了某個類的一個對象,近兩年來,我修改該類,刪除某個屬性和增加了另外一個屬性,兩年後,我又去讀取那個保存的對象,會有什麼結果?未知!sun的jdk就會蒙了。爲此,一個解決辦法就是在類中增加版本號,每一次類的修改,都應該把版本號升級一下,這樣,在讀取時,比較存儲對象時的版本號與當前類的版本號,如果不一致,則直接報版本號不同的錯
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章