foolish
2006-10-26 13:09:32 UTC
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的物件關聯,要同時間被寫入。讀出來亦然。假設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存在記憶體作啥呢?同樣也不是我想見到的結果。
您分了二次讀取給二個變數,只要您單一次讀取檔a.object
或b.ojbect。答案各別都會一樣的。
只是您"碰巧寫在二個檔",又"碰巧以為要二個檔個別讀取"
不管你寫入幾次,分開來用都應該要是對的
(不然就不能用serialization做cluster了XD)
--
[1;32m※ Origin: [33mSayYA 資訊站 [37m<bbs.sayya.org> [m
[1;31m◆ From: [36m163.26.34.20[m