草庐IT

readUnshared

全部标签

java - 什么是 Java 中的反向引用?

特别是在ObjectInputStream的readUnshared()方法的上下文中,“反向引用”是什么意思?我在这个词中遇到了这个词IfreadUnsharediscalledtodeserializeaback-reference(thestreamrepresentationofanobjectwhichhasbeenwrittenpreviouslytothestream),anObjectStreamExceptionwillbethrown.引用:https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputSt

java - 使用 ObjectInputStream#readUnshared() 时出现意外的 OutOfMemoryError

从ObjectInputStream读取大量对象时,我遇到了OOM与readUnshared.MAT指出其内部句柄表是罪魁祸首,OOM堆栈跟踪也是如此(本文末尾)。从各方面来看,这都不应该发生。此外,OOM是否发生似乎取决于对象之前是如何写入的。根据thiswrite-uponthetopic,readUnshared应该通过在读取期间不创建句柄表条目来解决问题(而不是readObject)(该写入是我发现writeUnshared和readUnshared的方式,我以前没有注意到)。然而,从我自己的观察看来,readObject和readUnshared行为相同,OOM是否发生取决于