我注意到ObjectEncoderOutputStream
使用ObjectOutputStream
。传统上ObjectOutputStream
如果没有定期重置,可能会导致OOME。 ObjectEncoderOutputStream
是否容易受此影响?
答案 0 :(得分:1)
否,ObjectEncoderOutputStream
不会受到同样问题的影响,因为它使用ObjectOutputStream
的方式。
对于每次writeObject
调用,都会创建 new ObjectOutputStream
(特别是CompactObjectOutputStream
)来编写该单个对象,然后再次关闭。
因此,没有ObjectOutputStream
持有旧引用,因此不会以这种方式引起OOM。