qq_27718453
庄粟
采纳率100%
2017-05-31 08:20 阅读 2.1k
已采纳

两个对象相互持有GC会回收吗

如题,两个对象相互持有,当其他所有引用都结束时,只有这两个对象相互有引用,GC会回收吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq379854836 Vanquishing 2017-05-31 08:27


    语言在实现GC判断时大致有两类
    一类如python,使用引用计数器,这样就容易导致楼主所说的问题
    第二类如java使用的是可达性分析,是从root开始采用图的形式进行搜索。使用这种方法,当出现楼主所说的这种情况的时候,java的GC是可以回收的。

    ps:GC 在各种VM中均有不同的实现,不知道楼主说的具体是哪一种,最好可以把问题描述清楚一些

    点赞 评论 复制链接分享
  • qq_38290010 峰峰CC 2017-05-31 08:24

    应该不会,只要对象,属性等存在被引用,gc都会过滤掉的,不会被回收

    点赞 评论 复制链接分享
  • mon_ice mon_ice 2017-05-31 08:26

    两个对象相互持有是咋初始化的呢

    点赞 评论 复制链接分享

相关推荐