對(duì)象持久化或網(wǎng)絡(luò)傳輸,宜信普惠認(rèn)為序列化不可或缺

對(duì)計(jì)算機(jī)領(lǐng)域有所接觸的人們,應(yīng)該對(duì)序列化不陌生。序列化是指把對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程。通常情況下,在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫(xiě)入到臨時(shí)或持久性存儲(chǔ)區(qū)。

宜信普惠發(fā)現(xiàn),序列化不僅可以保存對(duì)象到磁盤(pán)進(jìn)行持久化,還可以通過(guò)網(wǎng)絡(luò)傳輸。在平時(shí)的生活和工作當(dāng)中,序列化也是經(jīng)常被談及的一塊內(nèi)容。

那么,序列化是怎么工作的呢?讓我們跟隨宜信普惠的腳步一起來(lái)了解吧。

依照序列化格式重新獲取字節(jié)的結(jié)果時(shí),可以利用它來(lái)產(chǎn)生與原始對(duì)象相同語(yǔ)義的副本。也就是說(shuō),對(duì)于許多對(duì)象,像是使用大量引用的復(fù)雜對(duì)象,這種序列化重建的過(guò)程并不容易。

宜信普惠指出,面向?qū)ο笾械男蛄谢?,并不概括之前原始?duì)象所關(guān)系的函數(shù)。這種過(guò)程也稱(chēng)為對(duì)象編組。序列化的并不是整個(gè)對(duì)象,只是對(duì)象的屬性值。Java 序列化的過(guò)程是依賴(lài)于正確的序列化對(duì)象恢復(fù)狀態(tài)的。

java在反序列化時(shí),是遞歸的,將對(duì)象反序列化,對(duì)象的成員變量反序列化,對(duì)象的成員變量的成員變量反序列化。反序列化會(huì)嚴(yán)格的按照字符串的格式進(jìn)行,當(dāng)正確的讀取到 時(shí),就不會(huì)再讀取后面的數(shù)據(jù)了,因?yàn)檎_的讀取到,就代表著結(jié)束。在過(guò)程中有任何錯(cuò)誤,那么反序列化過(guò)程就會(huì)終止。

在宜信普惠看來(lái),把對(duì)象轉(zhuǎn)成JSON、xml時(shí),往往接口、方法會(huì)實(shí)現(xiàn)序列化,因?yàn)榫W(wǎng)絡(luò)傳輸也是一個(gè)二進(jìn)制的過(guò)程,需要進(jìn)行轉(zhuǎn)換。所以只要我們對(duì)內(nèi)存中的對(duì)象進(jìn)行持久化或網(wǎng)絡(luò)傳輸,這個(gè)時(shí)候都需要序列化和反序列化。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )