1.序列化:
将java對象轉化為位元組序列
2.反序列化:
将位元組序列恢複成java對象
3.序列化是幹什麼的:
1.儲存在記憶體中的對象的狀态
2.友善傳輸,實作對象的位元組序列傳輸,如圖像,視訊等
4.實作
java提供兩種方式一種是實作serializable接口,另一種是實作exteranlizable接口,使用serializable時可利用transient關鍵子修飾不需要被反序列化的屬性,使用exteranlizable接口時需要重寫writeexternal和readexternal方法
user類實作serializable接口,實際為空接口,作為可反序列化辨別
exteranlizable類繼承了serializable需要實作writeexternal和readexternal方法,注意使用此方法時,若類沒有預設構造函數會報錯
objectoutputstream 對象輸出流 objectinputstream 對象輸入流
fileoutputstream 檔案輸出流 fileinputstream 檔案輸入流
利用兩者将對象的序列化資料寫入檔案,再從檔案中讀取序列化資料利用readobject恢複成對象
test類代碼如下:
運作serialize()在1.txt中儲存序列化資料
運作deserializ()将序列化資料反序列化為對象