Java 序列化是指:將一個對象轉化成一串二進制表示的字節數組,經過保存或轉移這些字節數據來達到持久化的目的。java
須要持久化,對象必須繼承 java.io.Serializable 接口。數組
- 父類繼承 java.io.Serializable 接口,全部的子類均可被序列化。
- 子類繼承 java.io.Serializable 接口,父類沒有,父類的屬性不會被序列化(數據丟失),子類屬性能正常序列化。
- 若是序列化的屬性是對象,則對象必須繼承 java.io.Serializable 接口,不然報錯。
- 反序列化時,對象的屬性有修改或刪除,則修改的部分屬性會丟失,但不會報錯。
- 反序列化時,serialVersionUID 被修改,則反序列化會失敗。