所以我有一个这样的包装类:
class VeryWrapper
{
Wrapper wrp = new Wrapper();
int val = 0;
}
Wrapper
定义为:
class Wrapper
{
int val = 0;
}
现在,如果我想将其序列化为流,请更改val
和wrp.val
,并使用新状态对其进行序列化。我知道使用writeObject
会导致在流的另一端接收旧状态。因此在这种情况下必须使用writeUnshared
。但问题是使用这种方法只有对象本身不会被共享,而不是它的字段(我的意思是wrp
字段),因此val
的值将被更新,但wrp.val
的值将被更新1}}仍然是旧值。你会如何解决这个问题?
答案 0 :(得分:0)
最好定期调用reset()
以避免内存泄漏。在您的情况下,它将确保将再次发送所有对象。