1. 程式人生 > >Java Web之序列化

Java Web之序列化

  1. Java序列化的本質是將一個物件轉化為一串二進位制表示的位元組陣列。通過儲存活著轉移這些位元組陣列來達到持久化的目的。
  2. 需要持久化,物件必須繼承java.io.Serializable介面。
  3. 序列化的資料主要包括下列幾部分:
    1. 序列化標頭檔案;
    2. 序列化類的描述;
    3. 物件中各個屬性的描述;
    4. 對於父類資訊的描述;
    5. 物件屬性值的描述;
  4. 複雜情況序列化的總結:
    1. 當父類繼承了Serializable介面時,所有的子類都可以被序列化。
    2. 子類實現了Serializable介面,父類沒有,父類中的屬性不能被序列化(不報錯,資料會丟失);但是子類中的屬性仍能正確序列化。
    3. 如果序列化的屬性是物件,則這個物件也必須實現序列化Serializable介面,否則會報錯。
    4. 在反序列化時,如果物件的屬性有修改或者刪減,則修改的部分屬性會丟失,但不會報錯。
    5. 在反序列化時,如果serialVersionUID被修改,則反序列化時會失敗。