java中serializable是什麼

來源:互聯網
上載者:User
 

一個對象序列化的介面,一個類只有實現了Serializable介面,它的對象才是可序列化的。因此如果要序列化某些類的對象,這些類就必須實現Serializable介面。而實際上,Serializable是一個空介面,沒有什麼具體內容,它的目的只是簡單的標識一個類的對象可以被序列化。

什麼情況下需要序列化
a)當你想把的記憶體中的對象寫入到硬碟的時候;
b)當你想用通訊端在網路上傳送對象的時候;
c)當你想通過RMI傳輸對象的時候;
再稍微解釋一下:a)比如說你的記憶體不夠用了,那電腦就要將記憶體裡面的一部分對象暫時的儲存到硬碟中,等到要用的時候再讀入到記憶體中,硬碟的那部分儲存空間就是所謂的虛擬記憶體。在比如過你要將某個特定的對象儲存到檔案中,我隔幾天在把它拿出來用,那麼這時候就要實現Serializable介面;
b)在進行java的Socket編程的時候,你有時候可能要傳輸某一類的對象,那麼也就要實現Serializable介面;最常見的你傳輸一個字串,它是JDK裡面的類,也實現了Serializable介面,所以可以在網路上傳輸。
c)如果要通過遠端方法調用(RMI)去調用一個遠程對象的方法,如在電腦A中調用另一台電腦B的對象的方法,那麼你需要通過JNDI服務擷取電腦B目標對象的引用,將對象從B傳送到A,就需要實現序列化介面。
沒有人說的話能全部準確,批判性的參考。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.