1. 程式人生 > >為什麽要實現Serializable

為什麽要實現Serializable

服務 name 就是 上傳 部分 get 存儲 簡單 通過

一個對象序列化的接口,一個類只有實現了Serializable接口,它的對象才是可序列化的。因此如果要序列化某些類的對象,這些類就必須實現Serializable接口。而實際上,Serializable是一個空接口,沒有什麽具體內容,它的目的只是簡單的標識一個類的對象可以被序列化。
什麽情況下需要序列化 
a)當你想把內存中的對象寫入到硬盤的時候;
b)當你想用套接字在網絡上傳送對象的時候;
c)當你想通過RMI傳輸對象的時候;
再稍微解釋一下:a)比如說你的內存不夠用了,那計算機就要將內存裏面的一部分對象暫時的保存到硬盤中,等到要用的時候再讀入到內存中,硬盤的那部分存儲空間就是所謂的虛擬內存。在比如過你要將某個特定的對象保存到文件中,我隔幾天在把它拿出來用,那麽這時候就要實現Serializable接口;
b)在進行java的Socket編程的時候,你有時候可能要傳輸某一類的對象,那麽也就要實現Serializable接口;最常見的你傳輸一個字符串,它是JDK裏面的類,也實現了Serializable接口,所以可以在網絡上傳輸。
c)如果要通過遠程的方法調用(RMI)去調用一個遠程對象的方法,如在計算機A中調用另一臺計算機B的對象的方法,那麽你需要通過JNDI服務獲取計算機B目標對象的引用,將對象從B傳送到A,就需要實現序列化接口。

如果是字符串在網絡通信一般可以直接傳輸,如果是對象需要序列化,為的是變為二進制來傳輸
序列化接口,便於在網絡上進行傳輸的,其它時候可以不用

為什麽要實現Serializable