看板java
标 题Re: [心得] 序列化的小细节
发信站SayYA 资讯站 (Thu Oct 26 21:09:32 2006)
转信站ptt!ctu-reader!news.nctu!SayYa
※ 引述《[email protected] (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