1、序列化和反序列化的定義:
(1)Java序列化就是指把Java物件轉換為位元組序列的程序
Java反序列化就是指把位元組序列恢復為Java物件的程序,
(2)序列化最重要的作用:在傳遞和保存物件時.保證物件的完整性和可傳遞性,物件轉換為有序位元組流,以便在網路上傳輸或者保存在本地檔案中,
反序列化的最重要的作用:根據位元組流中保存的物件狀態及描述資訊,通過反序列化重建物件,
總結:核心作用就是物件狀態的保存和重建,(整個程序核心點就是位元組流中所保存的物件狀態及描述資訊)
2、json/xml的資料傳遞:
在資料傳輸(也可稱為網路傳輸)前,先通過序列化工具類將Java物件序列化為json/xml檔案,
在資料傳輸(也可稱為網路傳輸)后,再將json/xml檔案反序列化為對應語言的物件
3、序列化優點:
①將物件轉為位元組流存盤到硬碟上,當JVM停機的話,位元組流還會在硬碟上默默等待,等待下一次JVM的啟動,把序列化的物件,通過反序列化為原來的物件,并且序列化的二進制序列能夠減少存盤空間(永久性保存物件),
②序列化成位元組流形式的物件可以進行網路傳輸(二進制形式),方便了網路傳輸,
③通過序列化可以在行程間傳遞物件,
4、序列化演算法需要做的事:
① 將物件實體相關的類元資料輸出,
② 遞回地輸出類的超類描述直到不再有超類,
③ 類元資料輸出完畢后,從最頂端的超類開始輸出物件實體的實際資料值,
④ 從上至下遞回輸出實體的資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256345.html
標籤:其他
