当前位置: 首页 > 面试题库 >

Java序列化是否可用于循环引用?

宋俊民
2023-03-14
问题内容

例如:对象A包含对象B,对象B包含对象C,对象C包含对象A。

对象A是否可以正确序列化?

这里的#9注释表明它不起作用。

相反,XStream指示它确实处理循环引用。


问题答案:

是的,默认的Java序列化可用于循环引用。序列化对象C时,该字段将包含对已序列化的对象A的反向引用,而不是再次对其进行序列化。



 类似资料:
  • 问题内容: 在正在进行的项目中,人们编写了服务类来访问DAO。几乎每个业务对象都具有使用自己的DAO的自己的服务。在某些服务上,我们使用对其他服务的引用。目前,人们正在实例化构造函数内部所需的服务。 但是现在,我遇到了麻烦,因为服务A需要服务B而服务B需要服务A,因此对任一构造函数的调用都会导致堆栈溢出… 示例(伪代码): 您将如何解决?使用单例模式? 谢谢 问题答案: Spring框架通过使用依

  • 问题内容: 有岗位这里,询问如何通过返回EF4CTP5序列化对象时,解决循环引用错误。不久前,我在WCF Web表单项目中遇到了同样的问题。 我能够在WCF / Web窗体项目和MVC3项目中“解决”此问题。我认为什么类型的项目都不重要,因为这似乎是EF序列化的“事物”。 我通过在ObjectContext构造函数中禁用ProxyCreation来解决此问题,如下所示: 我的问题是:有人可以解释为

  • 问题内容: 给定以下代码示例: 这是一个有效的Java程序,尽管doSomething()方法应返回一个int,但永远不会返回。如果运行它,它将以无限循环结束。如果将while循环的参数放在单独的变量中(例如boolean bool = true),则编译器将告诉您在此方法中返回int。 所以我的问题是:这在Java规范中是否存在,是否存在这种行为可能有用的情况? 问题答案: 我将引用Java语言

  • 问题内容: 是否有要使用Java序列化的python反序列化的库? 问题答案: Java序列化是类/数据结构的表示,并与虚拟机紧密相关。因此,要转换到Python世界将很困难。 您的Java程序可以将XML序列化/反序列化,这是可以翻译的。检出JAXB或XStream 您是否看过在Jython中运行的可能性-Java中的Python实现

  • 问题内容: 我有一组linq到sql类,并使用.NET JavaScriptSerializer将它们序列化为JSON。 但是,一旦我将记录添加到相关表上,序列化就会引发“循环引用异常”。啊! 在这里详细描述。 我有几种选择 将linq to sql类转换为没有关系的类,从而避免循环引用 通过取消关联来剪断循环引用-我不认为这是一个真实的选择 使用ScriptIgnoreAttribute(以某种

  • 我有一个数据结构藏书集,里面有一套书。每本书都有它所在藏书的参考文献。这是一种标准的一对多关系。它在服务器端工作得很好,但是我必须把它发送到客户端。该应用程序使用Jackson ObjectMapper进行序列化,设置为Spring Bean。问题是,您不能简单地序列化一个图书集合和书籍,因为标准JSON中没有引用(我确实需要标准JSON)。 当前的解决方案是把@JsonIgnore放在Book.