天天看點

第3天(Serializable官方源碼解析彙總)

JDK1.1源碼學習之Serializable官方執行個體解析

  • ​​1. 對象序列化​​
第3天(Serializable官方源碼解析彙總)

還記得之前整理官方文檔嗎,

​​​JDK 5 Documentation​​

​​ ​​​

第3天(Serializable官方源碼解析彙總)

在J2SEAPI 裡面有一個​

​Serialization​

​​子產品,我們點選去看看是什麼。

​​​JDK 5.0 與序列化相關的 API ​​

1. 對象序列化

對象序列化擴充了核心 Java 輸入/輸出類。對象序列化支援将對象以及可從它們通路的對象編碼轉換為位元組流;并且它還支援從流中将對象進行反序列化。序列化用于輕量級持久性以及通過套接字(socket)或遠端方法調用 (RMI) 進行通信。對象的預設編碼保護私有資料和瞬态資料,并支援類的演變。類可以實作自己的外部編碼,然後單獨負責外部格式。

序列化現在包括一個 API,該 API 允許獨立于類的字段指定對象的序列化資料,并允許使用現有協定将這些序列化資料字段寫入流和從流中讀取,以確定與預設寫入和讀取機制的相容性。

這裡是翻譯文檔原文的内容,從中我們知道序列化的作用主要有三個:輕量級持久性以及通過套接字(socket)或遠端方法調用 (RMI) 進行通信。那麼我們來看看官方給的執行個體吧。

第3天(Serializable官方源碼解析彙總)
第3天(Serializable官方源碼解析彙總)

上面的執行個體包括如下:

  • 對​​套接字​​使用序列化
  • 将序列化與​​自定義資料格式結合使用​​
  • 對超類使用序列化:
  • 使用​​不可序列化超類進行​​序列化
  • 使用​​可外化超類進行外部​​化
  • 使用​​不可外部化超類進行外部​​化
  • 将序列化與演進結合使用:
  • ​​序列化和演進​​
  • ​​外部化與進化​​
  • 序列化、演進和​​添加新的超類​​
  • 序列化、演變和​​可序列化字段 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