欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Java中的強大武器——對象的序列化
所謂對象序列化就是將對象的狀態(tài)轉換成字節流,以后可以通過(guò)這些值再生成相同狀態(tài)的對象。這個(gè)過(guò)程也可以通過(guò)網(wǎng)絡(luò )實(shí)現,可以先在Windows機器上創(chuàng )建一個(gè)對象,對其序列化,然后通過(guò)網(wǎng)絡(luò )發(fā)給一臺Unix機器,然后在那里準確無(wú)誤地重新“裝配”。是不是很神奇。
也許你會(huì )說(shuō),只了解一點(diǎn)點(diǎn),但從來(lái)沒(méi)有接觸過(guò),其實(shí)未必如此。RMI、Socket、JMS、EJB你總該用過(guò)一種吧,彼此為什么能夠傳遞Java對象,當然都是對象序列化機制的功勞。
第一次使用Java的對象序列化是做某項目,當時(shí)要求把幾棵非常復雜的樹(shù)(JTree)及相應的數據保存下來(lái)(就是我們常用的保存功能),以便下次運行程序時(shí)可以繼續上次的操作。
那時(shí)XML技術(shù)在網(wǎng)上非常的熱,而且功能也強大,再加上樹(shù)的結構本來(lái)就和XML存儲數據的格式很像。作為一項對新技術(shù)比較有興趣的我當然很想嘗試一下。不過(guò)經(jīng)過(guò)仔細分析,發(fā)現如果采用XML保存數據,后果真是難以想象:哪棵樹(shù)的哪個(gè)節點(diǎn)被展開(kāi)、展開(kāi)到第幾級、節點(diǎn)當前的屬性是什么。真是不知該用A、B、C還是用1、2、3來(lái)表示。
還好,發(fā)現了Java的對象序列化機制,問(wèn)題迎刃而解,只需簡(jiǎn)單的將每棵樹(shù)的根節點(diǎn)序列化保存到硬盤(pán)上,下次再通過(guò)反序列化后的根節點(diǎn)就可以輕松的構造出和原來(lái)一模一樣的樹(shù)來(lái)。
其實(shí)保存數據,尤其是復雜數據的保存正是對象序列化的典型應用。最近另一個(gè)項目就遇到了需要對非常復雜的數據進(jìn)行存取,通過(guò)使用對象的序列化,問(wèn)題同樣化難為簡(jiǎn)。
對象的序列化還有另一個(gè)容易被大家忽略的功能就是對象復制(Clone),Java中通過(guò)Clone機制可以復制大部分的對象,但是眾所周知,Clone有深層Clone和淺層Clone,如果你的對象非常非常復雜,假設有個(gè)100層的Collection(夸張了點(diǎn)),如果你想實(shí)現深層Clone,真是不敢想象,如果使用序列化,不會(huì )超過(guò)10行代碼就可以解決。
還有就是Swing組件,如果你有兩個(gè)很象很象(或是一模一樣)的比較難以構造的Swing組件,你該怎么辦,也許你想到了Clone,但是偏偏Java的Swing組件沒(méi)有提供Clone方法。別急,使用序列化,6行代碼搞定:
ByteArrayOutputStreambyteOut = new ByteArrayOutputStream(); ObjectOutputStream out= new ObjectOutputStream(byteOut); out.writeObject(combo); ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray()); ObjectInputStream in=new ObjectInputStream(byteIn); JComboBox comb2 = (JComboBox)in.readObject();
雖然Java的序列化非常簡(jiǎn)單、強大,但是要用好,還有很多地方需要注意。比如曾經(jīng)序列化了一個(gè)對象,可由于某種原因,該類(lèi)做了一點(diǎn)點(diǎn)改動(dòng),然后重新被編譯,那么這時(shí)反序列化剛才的對象,將會(huì )出現異常。
你可以通過(guò)添加serialVersionUID屬性來(lái)解決這個(gè)問(wèn)題。如果你的類(lèi)是個(gè)單態(tài)(Singleton)類(lèi),是否允許用戶(hù)通過(guò)序列化機制復制該類(lèi),如果不允許你需要謹慎對待該類(lèi)的實(shí)現。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久