1.什麼是序列化?
簡單說就是爲了保存在內存中的各類對象的狀態,而且能夠把保存的對象狀態再讀出來。雖然你能夠用你本身的各類各樣的方法來保存Object States,
可是Java給你提供一種應該比你本身好的保存對象狀態的機制,那就是序列化
java源碼中的解釋:The serialization runtime associates with each serializable class a version number, called
a serialVersionUID, which is used during deserialization to verify that the sender and receiver of a serialized
object have loaded classes for that object that are compatible with respect to serialization.
2.爲何要使用序列化:
對象被建立在堆上,爲了將對象持久化保存到文件中,而且能從文件中從新獲取該對象的屬性和值(這只是一種狀況,也可能進行網絡傳輸,保存數據到數據庫等等),
須要將該對象序列化,由於在從文件獲取該對象的時候,序列化就會被告知加載哪一個類去實例化這個對象。
3.如何序列化
實現Serializable接口,生成序列化id
transient關鍵字:忽略序列化字段