JDK1.1源碼學習之Serializable官方執行個體解析
- 1. 對象序列化
還記得之前整理官方文檔嗎,
JDK 5 Documentation
在J2SEAPI 裡面有一個
Serialization
子產品,我們點選去看看是什麼。
JDK 5.0 與序列化相關的 API
1. 對象序列化
對象序列化擴充了核心 Java 輸入/輸出類。對象序列化支援将對象以及可從它們通路的對象編碼轉換為位元組流;并且它還支援從流中将對象進行反序列化。序列化用于輕量級持久性以及通過套接字(socket)或遠端方法調用 (RMI) 進行通信。對象的預設編碼保護私有資料和瞬态資料,并支援類的演變。類可以實作自己的外部編碼,然後單獨負責外部格式。
序列化現在包括一個 API,該 API 允許獨立于類的字段指定對象的序列化資料,并允許使用現有協定将這些序列化資料字段寫入流和從流中讀取,以確定與預設寫入和讀取機制的相容性。
這裡是翻譯文檔原文的内容,從中我們知道序列化的作用主要有三個:輕量級持久性以及通過套接字(socket)或遠端方法調用 (RMI) 進行通信。那麼我們來看看官方給的執行個體吧。
上面的執行個體包括如下:
- 對套接字使用序列化
- 将序列化與自定義資料格式結合使用
- 對超類使用序列化:
- 使用不可序列化超類進行序列化
- 使用可外化超類進行外部化
- 使用不可外部化超類進行外部化
- 将序列化與演進結合使用:
- 序列化和演進
- 外部化與進化
- 序列化、演進和添加新的超類
- 序列化、演變和可序列化字段 API
- 使用可序列化類的替換
我會按照官方的順序整理如下執行個體,可能更新會比較慢,催更請及時留言喲~
序号 | 内容 | 更新時間 |
執行個體一 | Sockets | |
執行個體二 | Custom Data Format | |
執行個體三 | NonSerializable Superclass | |
執行個體四 | Externalizable Superclass | |
執行個體五 | NonExternalizable Superclass | |
執行個體六 | Superclass | |
執行個體七 | Serialization and Evolution | |
執行個體八 | Externalization and Evolution | |
執行個體九 | addition of a new SuperClass | |
執行個體十 | Serializable Fields API | |