串列化(Serialization)是計算機科學中的一個概念,它涉及將對象的狀態存儲到存儲介質(如檔案、記憶體緩衝區等)中,或者以二進制格式通過網路傳輸。這個過程中,對象通過寫入描述自己狀態的數值來記錄自己的狀態。串列化後的對象可以通過反串列化過程從存儲的位元組數據中重新構建,從而得到與原始對象狀態相同的副本。
在Java中,對象可以通過實現Serializable接口來參與串列化協定,而不需要實現任何特殊的方法。這個接口由Java平台的包java.io提供,聲明了類可以參加串列化協定。串列化不僅用於對象的持久化,還可以用於遠程方法調用(如SOAP)、分布對象技術(如COM、CORBA),以及在軟體組件中使用隨時間變化的數據檢測變化。
串列化還涉及到對象存儲和獲取磁碟檔案、記憶體或其他地方中的對象。在串列化時,所有的實例數據都被保存到存儲介質上,而在取消串列化時,對象會被還原,且通常不能與其原實例區別開來。通過給類添加Serializable屬性,可以實現串列化,並且可以指定哪些成員應該被包括在序列化中。