回覆列表
-
1 # easeg4738
-
2 # 使用者4502085808331
物件序列化可以實現分散式物件。主要應用例如:RMI要利用物件序列化執行遠端主機上的服務,就像在本地機上執行物件時一樣。 java物件序列化不僅保留一個物件的資料,而且遞迴儲存物件引用的每個物件的資料。可以將整個物件層次寫入位元組流中,可以儲存在檔案中或在網路連線上傳遞。利用物件序列化可以進行物件的“深複製”,即複製物件本身及引用的物件本身。序列化一個物件可能得到整個物件序列。 java序列化比較簡單,通常不需要編寫儲存和恢復物件狀態的定製程式碼。實現java.io.Serializable介面的類物件可以轉換成位元組流或從位元組流恢復,不需要在類中增加任何程式碼。只有極少數情況下才需要定製程式碼儲存或恢復物件狀態。這裡要注意:不是每個類都可序列化,有些類是不能序列化的,例如涉及執行緒的類與特定JVM有非常複雜的關係。
網路傳輸會將物件轉換成位元組流傳輸,序列化可以將一個物件轉化成一段字串編碼,以便在網路上傳輸或者做儲存處理,使用時再進行反序列,而字串不用序列化的原因是如果你看過javaSE的原始碼,你就知道,字串是已經實現了Serializable介面的,所以它已經是序列化了的