什么是Serializable接口?
一個對象序列化的接口。一個類只有實現了Serializable接口,它的對象才能被序列化。
什么是序列化?
將對象的狀態信息轉換為可以存儲或傳輸的形式的過程。
在序列化期間,對象將其當前狀態寫入到臨時存儲區或持久性存儲區,之后,便可以通過從存儲區中讀取或反序列化對象的狀態信息,來重新創建該對象。
什么情況下需要序列化?
當我們需要把對象的狀態信息通過網絡進行傳輸,或者需要將對象的狀態信息持久化,以便將來使用時都需要把對象進行序列化。
Serializable主要用來支持兩種主要的特性:
1、Java的RMI(remote method invocation),RMI允許像在本機上一樣操作遠程機器上的對象,當發送消息給遠程對象時,就需要用到序列化機制來發送參數和接受返回值。
2、Java的JavaBean,Bean的狀態信息通常是在設計時配置的,Bean的狀態信息必須被保存下來,以便當程序運行時能恢復這些狀態信息,這也需要序Serializable機制。
轉載