Re: [心得] 序列化的小細節
※ 引述《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
討論串 (同標題文章)
完整討論串 (本文為第 7 之 13 篇):
心得
1
1