Re: [心得] 序列化的小細節

看板java作者時間19年前 (2006/10/26 21:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/13 (看更多)
※ 引述《pao0111.bbs@ptt.cc (Pao)》之銘言: > 1.程式邏輯可能出大紕漏。 > 假設A1和A2都參考到B1,而我經由A1取得B1, > 而修改了B1的內容。但事實上A2參考的是B2, > 只不過B1.equals(B2) == true。但我修改B1以後 > B1.equals(B2) == false。這不是我想見到的結果。 > 我想要的是A1和A2都「確實」參考到B1,那我只要 > 修改B1即可,大家都Happy。 > 2.記憶體佔用會變多。 > 簡單來說就是浪費,佔用比原先還多的記憶體, > 檔案也會一起變大。A1和A2原先都參考到B1, > 若產生了副本B2,那記憶體就要多佔用B2的空間。 > 更不用說A可能從1到很大,B也可能從1到很大。 > 重複的部分會有多少乘上多少呢? > 最可怕的還是B2.equals(B1) == true,這樣我要 > B2存在記憶體作啥呢?同樣也不是我想見到的結果。 被serialization的物件關聯,要同時間被寫入。讀出來亦然。 您分了二次讀取給二個變數,只要您單一次讀取檔a.object 或b.ojbect。答案各別都會一樣的。 只是您"碰巧寫在二個檔",又"碰巧以為要二個檔個別讀取" 不管你寫入幾次,分開來用都應該要是對的 (不然就不能用serialization做cluster了XD) -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: 163.26.34.20
文章代碼(AID): #15GBZP00 (java)
討論串 (同標題文章)
文章代碼(AID): #15GBZP00 (java)