是
objOS的
ObjectOutputStream?
如果是这样,那就是您的问题:An
ObjectOutputStream会对曾经写入过的 每个
对象保持强大的引用,以避免重复写入同一对象(它只会写一个引用说“我之前用id x 编写过的那个对象”) )。
这意味着您实际上在泄漏 所有
ArrayList方面。
你可以通过调用重置“缓存”
reset()在你的
ObjectOutputStream。由于
writeObject无论如何在两次调用之间似乎都没有利用该缓存,因此可以在调用
reset()之后直接
writeObject()调用。



