天天看點

對象的序列化

當要将一個對象存儲在網絡、硬碟、或通過流傳輸的時候,必須對該類實作序列化,否則不能執行以上操作!

你要傳輸或儲存對象時,需要将對象轉換成bit流, 

讀取對象時,需要重新轉換回來。 

這樣,就必需實作序列化接口。

序列化是為了存儲整個對象 

什麼是序列化?在什麼情況下将類序列化? 

序列化就是一種用來處理對象流的機制,所謂對象流也就是将對象的内容進行流化。可以對流化後的對象進行讀寫操作,也可将流化後的對象傳輸于網絡之間。序列化是為了解決在對對象流進行讀寫操作時所引發的問題。序列化的實作:将需要被序列化的類實作Serializable接口,該接口沒有需要實作的方法,implements Serializable隻是為了标注該對象是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接着,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以将參數為obj的對象寫出(即儲存其狀态),要恢複的話則用輸入流。 

序列化:序列化是将對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在用戶端和伺服器之間傳輸該對象。在另一端,反序列化将從該流重新構造對象。 

是對象永久化的一種機制。 

确切的說應該是對象的序列化,一般程式在運作時,産生對象,這些對象随着程式的停止運作而消失,但如果我們想把某些對象(因為是對象,是以有各自不同的特性)儲存下來,在程式終止運作後,這些對象仍然存在,可以在程式再次運作時讀取這些對象的值,或者在其他程式中利用這些儲存下來的對象。這種情況下就要用到對象的序列化。 

對象序列化的最主要的用處就是在傳遞,和儲存對象(object)的時候,保證對象的完整性和可傳遞性。譬如通過網絡傳輸,或者把一個對象儲存成一個檔案的時候,要實作序列化接口 。

本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2010/12/20/1911930.html,如需轉載請自行聯系原作者