对对象的强引用以及该对象对
this
的软引用。
我的程序有一个产品销售记录列表,产品本身引用了订单对象。 程序有一个汇总订单详细信息的功能,它使用订单的产品销售额来计算一些东西。
我最重要的问题是,当我将产品销售记录列表设置为空时,会导致YGC不清除它们吗?
如果您使用 spring 框架,使用基于 setter 的依赖注入而不是基于构造函数是修复循环依赖/循环引用的另一种方法。 对于休眠实体映射,获取类型“lazy”可能会有所帮助,而不是获取“eager”,因此数据将仅按需加载。 在大多数情况下,循环引用是不可避免的,但除非绝对必要,否则请尽量避免导致循环引用的映射实体