版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、為什么要對(duì)對(duì)象進(jìn)行序列化操作今天晚上課程內(nèi)容提到對(duì)對(duì)象進(jìn)行序列化操作其實(shí)我感覺(jué)有很多同學(xué)都不明白到底為什么要對(duì)對(duì)象進(jìn)行序列化有很多疑問(wèn).大家也討論過(guò)一些.我個(gè)人的朦朧觀點(diǎn)在此也不知道對(duì)與不對(duì)對(duì)象序列化到底有什么好處?數(shù)據(jù)操作規(guī)范類似于還是等于XML文件保證數(shù)據(jù)一致性和安全性為什么要對(duì)對(duì)象進(jìn)行序列化為什么不直接用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)采用數(shù)據(jù)流來(lái)存儲(chǔ)以數(shù)據(jù)流傳輸會(huì)提高網(wǎng)絡(luò)傳輸速度,在數(shù)據(jù)流進(jìn)行操作可以直接操作數(shù)據(jù)流,少了對(duì)數(shù)據(jù)表進(jìn)行操作的過(guò)程,
2、減少數(shù)據(jù)出錯(cuò)的幾率.在具體的編程應(yīng)用中那些地方會(huì)用的上?分布式計(jì)算網(wǎng)絡(luò)數(shù)據(jù)存取===============================================回來(lái)后Google一下相關(guān)文章發(fā)現(xiàn)這里講的似乎比較詳細(xì).順便轉(zhuǎn)載一下.文章見:1_3407.html目前網(wǎng)絡(luò)上關(guān)于對(duì)象序列化的文章不少,但是我發(fā)現(xiàn)詳細(xì)敘述用法和原理的文章太少。本人把自己經(jīng)過(guò)經(jīng)驗(yàn)總結(jié)和實(shí)際運(yùn)用中的體會(huì)寫成的學(xué)習(xí)筆記貢獻(xiàn)給大家。希望能為整個(gè)java社區(qū)的
3、繁榮做一點(diǎn)事情。序列化的過(guò)程就是對(duì)象寫入字節(jié)流和從字節(jié)流中讀取對(duì)象。將對(duì)象狀態(tài)轉(zhuǎn)換成字節(jié)流之后,可以用java.io包中的各種字節(jié)流類將其保存到文件中,管道到另一線程中或通過(guò)網(wǎng)絡(luò)連接將對(duì)象數(shù)據(jù)發(fā)送到另一主機(jī)。對(duì)象序列化功能非常簡(jiǎn)單、強(qiáng)大,在RMI、Socket、JMS、EJB都有應(yīng)用。對(duì)象序列化問(wèn)題在網(wǎng)絡(luò)編程中并不是最激動(dòng)人心的課題,但卻相當(dāng)重要,具有許多實(shí)用意義。對(duì)象序列化可以實(shí)現(xiàn)分布式對(duì)象。主要應(yīng)用例如:RMI要利用對(duì)象序列化運(yùn)行遠(yuǎn)
4、程主機(jī)上的服務(wù),就像在本地機(jī)上運(yùn)行對(duì)象時(shí)一樣。java對(duì)象序列化不僅保留一個(gè)對(duì)象的數(shù)據(jù),而且遞歸保存對(duì)象引用的每個(gè)對(duì)象的數(shù)據(jù)??梢詫⒄麄€(gè)對(duì)象層次寫入字節(jié)流中,可以保存在文件中或在網(wǎng)絡(luò)連接上傳遞。利用對(duì)象序列化可以進(jìn)行對(duì)象的“深復(fù)制”,即復(fù)制對(duì)象本身及引用的對(duì)象本身。序列化一個(gè)對(duì)象可能得到整個(gè)對(duì)象序列。從上面的敘述中,我們知道了對(duì)象序列化是java編程中的必備武器,那么讓我們從基礎(chǔ)開始,好好學(xué)習(xí)一下它的機(jī)制和用法。java序列化比較簡(jiǎn)單,
5、通常不需要編寫保存和恢復(fù)對(duì)象狀態(tài)的定制代碼。實(shí)現(xiàn)java.io.Serializable接口的類對(duì)象可以轉(zhuǎn)換成字節(jié)流或從字節(jié)流恢復(fù),不需要在類中增加任何代碼。只有極少數(shù)情況下才需要定制代碼保存或恢復(fù)對(duì)象狀態(tài)。這里要注意:不是每個(gè)類都可序列化,有些類是不能序列化的,例如回流中下一個(gè)Object。對(duì)象字節(jié)流并不傳輸類的字節(jié)碼,而是包括類名及其簽名。readObject()收到對(duì)象時(shí),JVM裝入頭中指定的類。如果找不到這個(gè)類,則readObj
6、ect()拋出ClassNotFoundException如果需要傳輸對(duì)象數(shù)據(jù)和字節(jié)碼,則可以用RMI框架。ObjectInputStream的其余方法用于定制反序列化過(guò)程。例子如下:從文件中反序列化string對(duì)象和date對(duì)象FileInputStreamin=newFileInputStream(“tmp“)ObjectInputStreams=newObjectInputStream(in)Stringtoday=(String
7、)s.readObject()Datedate=(Date)s.readObject()定制序列化過(guò)程:序列化通常可以自動(dòng)完成,但有時(shí)可能要對(duì)這個(gè)過(guò)程進(jìn)行控制。java可以將類聲明為serializable,但仍可手工控制聲明為static或transient的數(shù)據(jù)成員。例子:一個(gè)非常簡(jiǎn)單的序列化類。publicclasssimpleSerializableClassimplementsSerializableStringsToday=
8、“Today:“transientDatedtToday=newDate()序列化時(shí),類的所有數(shù)據(jù)成員應(yīng)可序列化除了聲明為transient或static的成員。將變量聲明為transient告訴JVM我們會(huì)負(fù)責(zé)將變?cè)蛄谢?。將?shù)據(jù)成員聲明為transient后,序列化過(guò)程就無(wú)法將其加進(jìn)對(duì)象字節(jié)流中,沒(méi)有從transient數(shù)據(jù)成員發(fā)送的數(shù)據(jù)。后面數(shù)據(jù)反序列化時(shí),要重建數(shù)據(jù)成員(因?yàn)樗穷惗x的一部分),但不包含任何數(shù)據(jù),因?yàn)檫@個(gè)數(shù)據(jù)成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 怎樣制定德育序列化方案
- 德育序列化活動(dòng)資料(doc)
- 高中寫作教學(xué)序列化研究
- 主題式作文序列化訓(xùn)練方案
- 學(xué)習(xí)對(duì)象的序列化策略研究.pdf
- 2016高三作文備考序列化訓(xùn)練
- 高考作文序列化訓(xùn)練專題十
- 初中校本作文序列化研究.pdf
- 高考作文序列化訓(xùn)練專題九
- JSON序列化機(jī)制與傳輸效率研究.pdf
- 基于序列化的高效XML查詢算法.pdf
- 九年級(jí)初中作文序列化訓(xùn)練
- 26314.小學(xué)作文教學(xué)序列化研究
- 73394.小學(xué)作文序列化教學(xué)的探索
- 10005.初中作文序列化訓(xùn)練策略研究
- 基于兒童本位的序列化習(xí)作教學(xué)探究
- 高中議論文作文教學(xué)序列化研究
- 板橋中學(xué)德育工作序列化方案
- 84607.中職幼師作文教學(xué)序列化研究
- 初中議論文寫作訓(xùn)練序列化探究.pdf
評(píng)論
0/150
提交評(píng)論