Java中序列化與反序列化

  • 序列化

把Java對象轉換爲字節序列的過程。

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

  • 反序列化

把字節序列恢復爲Java對象的過程。

  • 應用

對象在進行網絡傳輸(SOCKET)之前需要先被序列化,接收到序列化的對象之後需要再進行反序列化;

將對象存儲到文件之前需要進行序列化,將對象從文件中讀取出來需要進行反序列化;

將對象存儲到數據庫之前需要用到序列化,將對象從緩存數據庫中讀取出來需要反序列化;

將對象存儲到內存之前需要進行序列化,從內存中讀取出來之後需要進行反序列化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章