什麼是Serializable接口?數據庫
一個對象序列化的接口,一個類只有實現了Serializable接口,它的對象才能被序列化。後端
什麼是序列化?網絡
將對象的狀態信息轉換爲能夠存儲或傳輸的形式的過程,在序列化期間,對象將其當前狀態寫入到臨時存儲區或持久性存儲區,以後,即可以經過從存儲區中讀取或反序列化對象的狀態信息,來從新建立該對象。設計
序列化,就是把對象轉化爲字節流,才能進行網絡傳輸。
對象
什麼狀況下須要序列化?接口
當咱們須要把對象的狀態信息經過網絡進行傳輸(先後端交互),或者須要將對象的狀態信息持久化(後端與數據庫交互),以便未來使用時都須要把對象進行序列化rem
Serializable主要用來支持兩種主要的特性:
一、Java的RMI(remote method invocation),RMI容許像在本機上同樣操做遠程機器上的對象,當發送消息給遠程對象時,就須要用到序列化機制來發送參數和接受返回值。
二、Java的JavaBean,Bean的狀態信息一般是在設計時配置的,Bean的狀態信息必須被保存下來,以便當程序運行時能恢復這些狀態信息,這也須要序Serializable機制。io