序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。
可以對流化後的物件進行讀寫操作,也可將流化後的物件傳送於網路之間。序列化是為了解決物件流讀寫操作時可能引發的問題(如果不進行序列化可能會存在資料亂序的問題)。 (推薦學習:java課程)
要實現序列化,需要讓一個類別實作Serializable接口,該接口是一個標識性接口,標註該類別物件是可被序列化的,然後使用一個輸出流來建構一個物件輸出流並透過writeObject(Object obj)方法就可以將實現物件寫出(即保存其狀態);
如果需要反序列化則可以用一個輸入流建立物件輸入流,然後透過readObject方法從流中讀取物件。序列化除了能夠實現物件的持久化之外,還能夠用於物件的深度克隆。
為了示範序列化在Java中是怎樣運作的,我將使用先前教學中提到的Employee類,假設我們定義瞭如下的Employee類,該類別實作了Serializable 介面。
public class Employee implements java.io.Serializable { public String name; public String address; public transient int SSN; public int number; public void mailCheck() { System.out.println("Mailing a check to " + name + " " + address); } }
請注意,一個類別的物件要序列化成功,必須滿足兩個條件:
該類別必須實作 java.io.Serializable 介面。
該類別的所有屬性必須是可序列化的。如果有一個屬性不是可序列化的,則該屬性必須註明是短暫的。
如果你想知道一個 Java 標準類別是否是可序列化的,請查看該類別的文件。檢驗一個類別的實例是否能序列化十分簡單, 只需要查看該類別有沒有實作 java.io.Serializable介面。
以上是java如何實現序列化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具