java中的序列化

                -## java中的序列化 ##

Java 提供了一種對象序列化的機制,該機制中,一個對象可以被表示爲一個字節序列,該字節序列包括該對象的數據、有關對象的類型的信息和存儲在對象中數據的類型。
我們在java持久層編程中經常會用到 hibernate 和 mybatis,他們的實體類就經常實現序列化接口,這是爲什麼呢?
原來,序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化,將數據分解成字節流,以便存儲在文件中或在網絡上傳輸。
對象-> 二進制的過程 稱作序列化
二進制 ->對象 的過程稱作反序列化
例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在客戶端和服務器之間傳輸該對象。在另一端,反序列化將從該流重新構造對象。
將序列化對象寫入文件之後,可以從文件中讀取出來,並且對它進行反序列化,也就是說,對象的類型信息、對象的數據,還有對象中的數據類型可以用來在內存中新建對象。
整個過程都是 Java 虛擬機(JVM)獨立的,也就是說,在一個平臺上序列化的對象可以在另一個完全不同的平臺上反序列化該對象。

JAVA中實現serialization主要靠兩個類:

ObjectOutputStream
ObjectInputStream
他們是JAVA IO系統裏的OutputStream和InputStream的子類

發佈了29 篇原創文章 · 獲贊 53 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章