若是你作遠程方法調用(RPC)時,好比,服務器端有個類A及對象a,客戶端須要無視網絡的存在,直接調用對象a。這種狀況下,就須要把類A設計爲可序列化的,那麼它的實例a也就能夠實例化了。
說得簡單點,在服務器的 命名空間中的對象a,確定不能直接被客戶端的命名空間中的一個對象調用,這不可能,對吧。
可是若是你把服務器的對象a中的特徵屬性(不必定是全部屬性)變成xml,傳送到客戶端,而後客戶端用你給的特徵屬性能夠模擬的生成一個對象a。
這個過程就是 rpc,而要把對象a變成xml,就是序列化,反之,把xml變成模擬對象a就是反序列化。
以上是rpc中的序列化。
實際使用中,把app關閉的時候,內存對象能夠經過序列化,能夠變成能夠保存的xml,這樣,以便下次app再開得時候,把之前保存過的xml(或者txt等)反序列化成對象。
一句話,序列化就是把內存中對象以一種能夠保存的形式保存起來。
須要注意的是:
序列化能夠制定序列化整個類,或者 類的某些屬性。服務器