1. 程式人生 > >【修真院java小課堂】什麼是序列化和反序列化,在RMI中是否要實現 SERIALIZABLE 介面, SERIALVERSIONUID的用處是什麼?

【修真院java小課堂】什麼是序列化和反序列化,在RMI中是否要實現 SERIALIZABLE 介面, SERIALVERSIONUID的用處是什麼?

8.更多討論

1、serialVersionUID實際作用

假設本地資料庫中儲存了大量的user物件,後來由於需求,要修改User類中的屬性;如果不設定SerialVersionUID,根據屬性方法等自動生成,就會出現程式碼演示中的錯誤,造成的結果就是已經儲存的user物件無法反序列化;所以設定serialVersionUID的作用是為了向下的相容性。

2、除了Serializable介面,還有沒有實現序列化的方式

實現Externalizable介面,它是Serializable介面的子類

被Serializable介面宣告的類的物件的內容都將被序列化,如果現在使用者希望自己指定序列化的內容,則可以讓一個類實現Externalizable介面

3、rmi中實現序列化的操作在哪裡

實體類實現了Serializable介面,rmi對序列化過程進行封裝,其中ObjectOutputStream採用預設的序列化方式,對實體類的例項化物件序列化