1. 程式人生 > >什麼是序列化和反序列化 什麼是序列化和並行化

什麼是序列化和反序列化 什麼是序列化和並行化

當兩個程序在進行遠端通訊時,彼此可以傳送各種型別的資料。無論是何種型別的資料,都會以二進位制序列的形式在網路上傳送。傳送方需要把這個物件轉換為位元組序列,才能在網路上傳送;接收方則需要把位元組序列再恢復為物件。

1、把物件轉換為位元組序列的過程稱為物件的序列化。
2、把位元組序列恢復為物件的過程稱為物件的反序列化。

序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。可以對流化後的物件進行讀寫操作,也可將流化後的物件傳輸於網路之間。序列化是為了解決在對物件流進行讀寫操作時所引發的問題。

序列化的實現:將需要被序列化的類實現Serializable介面,該介面沒有需要實現的方法,implements Serializable只是為了標註該物件是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(物件流)物件,接著,使用ObjectOutputStream物件的writeObject(Object obj)方法就可以將引數為obj的物件寫出(即儲存其狀態),要恢復的話則用輸入流。

物件的序列化主要有兩種用途:

1)把物件的位元組序列永久地儲存到硬碟上,通常存放在一個檔案中;

2)在網路上傳送物件的位元組序列。

序列化和並行化

序列化也叫做序列化,就是把存在於記憶體的物件資料轉化成可以儲存成硬碟檔案的形式去儲存; 並行化也叫反序列化,就是把序列化後的硬碟檔案載入到記憶體,重新變成物件資料. 也就是把記憶體中物件資料變成硬碟檔案.