什麼是序列化?

2021-09-30 05:15:49 字數 1162 閱讀 3052

形象的說,序列化就是(1)將乙個物件儲存到到儲存介質上或者(2)將物件進行轉換使其能夠在網路上傳輸的行為。能對乙個類進行序列化的條件是:該類的任何基類都可以序列化;該類應用了serializable特性。

序列化常用的兩個應用如下:

1.儲存和引導程式的配置

我們在程式中可以建立乙個類,它包含了應用程式的配置資訊。當應用程式載入時,配置物件被反序列化到記憶體中的配置類;當使用者在程式執行的過程中對配置資訊進行修改的時候,可以把配置資訊(在記憶體中)序列化到硬碟中,以後執行程式的時候可以方便的從硬碟中載入這些配置資訊。這樣就方便的實現了配置檔案的讀寫。

2.分布式計算

序列化的最大優勢在於分布式計算。兩台機器擁有相同的程式集,則可以利用序列化技術進行通訊。a機器通過序列化技術向b機器傳送物件的快照,b機器能快速、正確的重建出改物件來。

在.net framework中,有三種序列化機制:二進位制、xml和soap(****** object access protocol 簡單物件訪問協議)。他們各自的優缺點如下:

(1)二進位制序列化的最大優點是:型別資料可以準確的表示出來。因為二進位制序列化可以序列化公有和私有成員,所以在反序列化的時候可以忠誠的重建出改物件的狀態。

(2)xml只序列化物件的公有屬性和字段。在xml序列化時,私有欄位和其他例項物件就丟失了。

(3)xml和soap是開發標準,具有很好的移植性。

擴充套件:c#中進行序列化和反序列化的**很簡單,三者對應的命名空間及對應的格式化類分別如下:

二進位制system.runtime.serialization.formatters.binary-binaryformatter

xml:system.xml.serialization-xmlserialization

soap:system.runtime.serialization.formatters.soap-soapformatter

什麼是序列化

序列化就是將物件的狀態資訊轉換為可以儲存或傳輸的object的過程。在序列化期間,物件將其當前狀態寫入到臨時或永續性儲存區。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立該物件。序列化是將物件狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為物件。這兩個過程結合起...

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

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

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

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