2011年8月28日 星期日

Java 序列化(Serialization)

序列化的意思就是把物件儲存後(file or database),在從中取出還會是原物件狀況,包含屬性等。

首先必須實作 Serializable interface,這個介面沒有任何method。

該物件的屬性如果是 primitive type會自動被序列化。

如果非primitive type沒有實作Serializable就會丟出 Runtime Exception

或者我們不想讓這個非primitive type不被序列化,就在這屬性加上transient

如果兩個物件共同指向相同非privitive type的A物件,且儲存時使用相同ObjectOutputStream,此時只會存一份A物件。如果儲存時分別使用不同ObjectOutputStream,當然就會有各自一份不同的A物件。

細節說明和範例可參考

沒有留言:

張貼留言

COVID-19 確診經歷紀實

原本以為真的是天選之人,就算先前家裡兩個小孩都確診都逃過了(可能有中獎但無症狀吧),不過就在2023年六月18日破解自認為天選之人的"心態",為什麼可以確認就是這天中獎的呢?因為在前都是居家上班,到人多的室內場所都會戴口罩,就剛好這天傍晚原本只想說要去附近的國...