成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java對(duì)象序列化和反序列化

chadLi / 3352人閱讀

摘要:序列化對(duì)象和平臺(tái)無(wú)關(guān),序列化得到的字節(jié)流可以在任何平臺(tái)反序列化。從文件中或網(wǎng)絡(luò)上獲得序列化的字節(jié)流后,根據(jù)字節(jié)流中所保存的對(duì)象狀態(tài)及描述信息,通過(guò)反序列化重建對(duì)象。因此意味著不要序列化靜態(tài)變量不屬于對(duì)象狀態(tài)的一部分,因此它不參與序列化。

一.序列化和反序列化
(1)序列化:將內(nèi)存中的對(duì)象轉(zhuǎn)化為字節(jié)序列,用于持久化到磁盤中或者通過(guò)網(wǎng)絡(luò)傳輸。對(duì)象序列化的最主要的用處就是傳遞和保存對(duì)象,保證對(duì)象的完整性和可傳遞性。序列化是把對(duì)象轉(zhuǎn)換成有序字節(jié)流,以便在網(wǎng)絡(luò)上傳輸或者保存在本地文件中。序列化后的字節(jié)流保存了Java對(duì)象的狀態(tài)以及相關(guān)的描述信息。序列化機(jī)制的核心作用就是對(duì)象狀態(tài)的保存與重建。
(2)網(wǎng)絡(luò)傳輸方式

通過(guò)socket,RMI傳輸數(shù)據(jù)時(shí)需要將對(duì)象序列化

(2)反序列化:從字節(jié)序列創(chuàng)建對(duì)象的過(guò)程稱為反序列化。序列化對(duì)象和平臺(tái)無(wú)關(guān),序列化得到的字節(jié)流可以在任何平臺(tái)反序列化。從文件中或網(wǎng)絡(luò)上獲得序列化的字節(jié)流后,根據(jù)字節(jié)流中所保存的對(duì)象狀態(tài)及描述信息,通過(guò)反序列化重建對(duì)象。

二.java類序列化
通過(guò)實(shí)現(xiàn)java.io.Serializable接口,可以在java類中啟用序列化。它是一個(gè)標(biāo)記接口,意味著不包含任何接口和字段。僅用于標(biāo)識(shí)可序列化的語(yǔ)義。

三.serialVersionUID
(1)serialVersionUID是一個(gè)標(biāo)識(shí)符,主要用于對(duì)象的版本控制。
(2)如果java類已經(jīng)實(shí)現(xiàn)了java.io.Serializable接口,那么默認(rèn)會(huì)在類中添加一個(gè)serialVersionUID。但是在該類中添加、刪除、修改字段都會(huì)生存新的serialVersionUID。這樣導(dǎo)致序列化到文件中的serialVersionUID和修改后class中的serialVersionUID不一致,造成對(duì)象無(wú)法恢復(fù)。
(3)java序列化的過(guò)程依賴正確的serialVersionUID。無(wú)論是否改變類中的字段,serialVersionUID都應(yīng)該保持不變。所以我們應(yīng)該在類中顯示的添加一個(gè)serialVersionUID。
(4)通過(guò)實(shí)驗(yàn)驗(yàn)證serialVersionUID的作用

四.Transient,static,final關(guān)鍵字
(1)該修飾符只適用于變量,不適用于方法和類。如果我們不想序列化特定變量以滿足安全約束,那么我們將該變量聲明為Transient。執(zhí)行序列化時(shí),JVM會(huì)忽略Transient變量的原始值,將默認(rèn)值保存到文件中。因此Transient意味著不要序列化
(2)靜態(tài)變量不屬于對(duì)象狀態(tài)的一部分,因此它不參與序列化。因此將在靜態(tài)變量前添加Transient是無(wú)用的。
(3)final變量將直接通過(guò)值參與序列化。所以在final變量前添加Transient關(guān)鍵字不會(huì)產(chǎn)生任何影響。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75514.html

相關(guān)文章

  • java列化和反列化

    摘要:引語(yǔ)平時(shí)我們?cè)谶\(yùn)行程序的時(shí)候創(chuàng)建的對(duì)象都在內(nèi)存中當(dāng)程序停止或者中斷了對(duì)象也就不復(fù)存在了如果我們能將對(duì)象保存起來(lái)在需要使用它的時(shí)候在拿出來(lái)使用就好了并且對(duì)象的信息要和我們保存時(shí)的信息一致序列化就可以解決了這樣的問(wèn)題序列化當(dāng)然不止一種方式如下序 引語(yǔ): ????平時(shí)我們?cè)谶\(yùn)行程序的時(shí)候,創(chuàng)建的對(duì)象都在內(nèi)存中,當(dāng)程序停止或者中斷了,對(duì)象也就不復(fù)存在了.如果我們能將對(duì)象保存起來(lái),在需要使用它的...

    snowell 評(píng)論0 收藏0
  • java列化和反列化說(shuō)起

    摘要:從的序列化和反序列化說(shuō)起序列化是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程,而相反的過(guò)程就稱為反序列化。當(dāng)使用接口來(lái)進(jìn)行序列化與反序列化的時(shí)候需要開發(fā)人員重寫與方法。 從java的序列化和反序列化說(shuō)起 序列化 (Serialization)是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程,而相反的過(guò)程就稱為反序列化。 在java中允許我們創(chuàng)建可復(fù)用的對(duì)象,但是這些對(duì)象僅僅存在j...

    whlong 評(píng)論0 收藏0
  • Java 列化和反列化

    摘要:把字節(jié)序列恢復(fù)為對(duì)象的過(guò)程稱為對(duì)象的反序列化。代表對(duì)象輸入流,它的方法從一個(gè)源輸入流中讀取字節(jié)序列,再把它們反序列化為一個(gè)對(duì)象,并將其返回。接口繼承自接口,實(shí)現(xiàn)接口的類完全由自身來(lái)控制序列化的行為,而僅實(shí)現(xiàn)接口的類可以采用默認(rèn)的序列化方式。 把對(duì)象轉(zhuǎn)換為字節(jié)序列的過(guò)程稱為對(duì)象的序列化。把字節(jié)序列恢復(fù)為對(duì)象的過(guò)程稱為對(duì)象的反序列化。    對(duì)象的序列化主要有兩種用途:   1) 把...

    jcc 評(píng)論0 收藏0
  • springboot學(xué)習(xí)(三)——使用HttpMessageConverter進(jìn)行http列化和反

    摘要:序列化反序列化主要體現(xiàn)在程序這個(gè)過(guò)程中,包括網(wǎng)絡(luò)和磁盤。如果是開發(fā)應(yīng)用,一般這兩個(gè)注解對(duì)應(yīng)的就是序列化和反序列化的操作。協(xié)議的處理過(guò)程,字節(jié)流內(nèi)部對(duì)象,就涉及這兩種序列化。進(jìn)行第二步操作,也就是序列化和反序列化的核心是。 以下內(nèi)容,如有問(wèn)題,煩請(qǐng)指出,謝謝! 對(duì)象的序列化/反序列化大家應(yīng)該都比較熟悉:序列化就是將object轉(zhuǎn)化為可以傳輸?shù)亩M(jìn)制,反序列化就是將二進(jìn)制轉(zhuǎn)化為程序內(nèi)部的...

    stackfing 評(píng)論0 收藏0
  • Java IO (三) 讀取其他進(jìn)程數(shù)據(jù),RandomAccessFile,列化和反列化

    摘要:虛擬機(jī)讀取其他進(jìn)程的數(shù)據(jù)對(duì)象的方法可以運(yùn)行平臺(tái)上的其他程序該方法產(chǎn)生一個(gè)對(duì)象對(duì)象代表由該程序啟動(dòng)啟動(dòng)的子進(jìn)程類提供如下三個(gè)方法用于和其子進(jìn)程通信獲取子進(jìn)程的錯(cuò)誤流獲取子進(jìn)程的輸入流獲取子進(jìn)程的輸出流這里的輸入流輸出流容易混淆從程序的角度思考 Java虛擬機(jī)讀取其他進(jìn)程的數(shù)據(jù) Runtime對(duì)象的exec方法可以運(yùn)行平臺(tái)上的其他程序,該方法產(chǎn)生一個(gè)Process對(duì)象,Process對(duì)象...

    zhangfaliang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<