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

資訊專(zhuān)欄INFORMATION COLUMN

Java 序列化和反序列化

jcc / 566人閱讀

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

   把對(duì)象轉(zhuǎn)換為字節(jié)序列的過(guò)程稱(chēng)為對(duì)象的序列化。把字節(jié)序列恢復(fù)為對(duì)象的過(guò)程稱(chēng)為對(duì)象的反序列化。

   對(duì)象的序列化主要有兩種用途:
   1) 把對(duì)象的字節(jié)序列永久地保存到硬盤(pán)上,通常存放在一個(gè)文件中;
   2) 在網(wǎng)絡(luò)上傳送對(duì)象的字節(jié)序列。

  在很多應(yīng)用中,需要對(duì)某些對(duì)象進(jìn)行序列化,讓它們離開(kāi)內(nèi)存空間,入住物理硬盤(pán),以便長(zhǎng)期保存。比如最常見(jiàn)的是Web服務(wù)器中的Session對(duì)象,當(dāng)有 10萬(wàn)用戶(hù)并發(fā)訪問(wèn),就有可能出現(xiàn)10萬(wàn)個(gè)Session對(duì)象,內(nèi)存可能吃不消,于是Web容器就會(huì)把一些seesion先序列化到硬盤(pán)中,等要用了,再把保存在硬盤(pán)中的對(duì)象還原到內(nèi)存中。

 當(dāng)兩個(gè)進(jìn)程在進(jìn)行遠(yuǎn)程通信時(shí),彼此可以發(fā)送各種類(lèi)型的數(shù)據(jù)。無(wú)論是何種類(lèi)型的數(shù)據(jù),都會(huì)以二進(jìn)制序列的形式在網(wǎng)絡(luò)上傳送。發(fā)送方需要把這個(gè)Java對(duì)象轉(zhuǎn)換為字節(jié)序列,才能在網(wǎng)絡(luò)上傳送;接收方則需要把字節(jié)序列再恢復(fù)為Java對(duì)象。
二、JDK類(lèi)庫(kù)中的序列化API
java.io.ObjectOutputStream代表對(duì)象輸出流,它的writeObject(Object obj)方法可對(duì)參數(shù)指定的obj對(duì)象進(jìn)行序列化,把得到的字節(jié)序列寫(xiě)到一個(gè)目標(biāo)輸出流中。
  java.io.ObjectInputStream代表對(duì)象輸入流,它的readObject()方法從一個(gè)源輸入流中讀取字節(jié)序列,再把它們反序列化為一個(gè)對(duì)象,并將其返回。
  只有實(shí)現(xiàn)了Serializable和Externalizable接口的類(lèi)的對(duì)象才能被序列化。Externalizable接口繼承自 Serializable接口,實(shí)現(xiàn)Externalizable接口的類(lèi)完全由自身來(lái)控制序列化的行為,而僅實(shí)現(xiàn)Serializable接口的類(lèi)可以 采用默認(rèn)的序列化方式 。
 對(duì)象序列化包括如下步驟:
  1) 創(chuàng)建一個(gè)對(duì)象輸出流,它可以包裝一個(gè)其他類(lèi)型的目標(biāo)輸出流,如文件輸出流;
  2) 通過(guò)對(duì)象輸出流的writeObject()方法寫(xiě)對(duì)象。

對(duì)象反序列化的步驟如下:
  1) 創(chuàng)建一個(gè)對(duì)象輸入流,它可以包裝一個(gè)其他類(lèi)型的源輸入流,如文件輸入流;
  2) 通過(guò)對(duì)象輸入流的readObject()方法讀取對(duì)象。

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

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

相關(guān)文章

  • java列化和反列化說(shuō)起

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

    whlong 評(píng)論0 收藏0
  • 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對(duì)象列化和反列化

    摘要:序列化對(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é)序列,用于持久化到磁盤(pán)中或者通過(guò)網(wǎng)絡(luò)傳輸。對(duì)象序列化的最主要的用處就是傳遞和保存對(duì)象,保證對(duì)...

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

    摘要:序列化反序列化主要體現(xiàn)在程序這個(gè)過(guò)程中,包括網(wǎng)絡(luò)和磁盤(pán)。如果是開(kāi)發(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)程類(lèi)提供如下三個(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元查看
<