对象的序列化
當(dāng)要將一個(gè)對象存儲(chǔ)在網(wǎng)絡(luò)、硬盤、或通過流傳輸?shù)臅r(shí)候,必須對該類實(shí)現(xiàn)序列化,否則不能執(zhí)行以上操作!
你要傳輸或保存對象時(shí),需要將對象轉(zhuǎn)換成bit流,
讀取對象時(shí),需要重新轉(zhuǎn)換回來。
這樣,就必需實(shí)現(xiàn)序列化接口。
序列化是為了存儲(chǔ)整個(gè)對象
什么是序列化?在什么情況下將類序列化?
序列化就是一種用來處理對象流的機(jī)制,所謂對象流也就是將對象的內(nèi)容進(jìn)行流化。可以對流化后的對象進(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時(shí)所引發(fā)的問題。序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,該接口沒有需要實(shí)現(xiàn)的方法,implements Serializable只是為了標(biāo)注該對象是可被序列化的,然后使用一個(gè)輸出流(如:FileOutputStream)來構(gòu)造一個(gè)ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。
序列化:序列化是將對象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,可以序列化一個(gè)對象,然后使用 HTTP 通過 Internet 在客戶端和服務(wù)器之間傳輸該對象。在另一端,反序列化將從該流重新構(gòu)造對象。
是對象永久化的一種機(jī)制。
確切的說應(yīng)該是對象的序列化,一般程序在運(yùn)行時(shí),產(chǎn)生對象,這些對象隨著程序的停止運(yùn)行而消失,但如果我們想把某些對象(因?yàn)槭菍ο?#xff0c;所以有各自不同的特性)保存下來,在程序終止運(yùn)行后,這些對象仍然存在,可以在程序再次運(yùn)行時(shí)讀取這些對象的值,或者在其他程序中利用這些保存下來的對象。這種情況下就要用到對象的序列化。
對象序列化的最主要的用處就是在傳遞,和保存對象(object)的時(shí)候,保證對象的完整性和可傳遞性。譬如通過網(wǎng)絡(luò)傳輸,或者把一個(gè)對象保存成一個(gè)文件的時(shí)候,要實(shí)現(xiàn)序列化接口 。
總結(jié)
- 上一篇: 关于对象的序列化
- 下一篇: 对struts一点理解总结