自动垃圾回收的疑问

自动垃圾回收的疑问

课程中说到:

分配对象和取消分配对象的差值到达阈值时,自动启动对该代对象的垃圾回收

问题:

此时什么样的对象会被回收,什么样的可以保留(除了循环引用的对象)



正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。

700即是垃圾回收启动的阈值;每10次0代垃圾回收,会配合1次1代的垃圾回收;而每10次1代的垃圾回收,才会有1次的2代垃圾回收;

新建对象后,若存在该对象的引用, 在垃圾回收时是回收不掉的,则会标记为1代对象。若没有该对象的引用,则会被回收。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~~

  • 慕丝8021493 提问者 #1
    您说的“若没有该对象的引用,则会被回收”,是指引用计数为0,还是除新建对象外没有其他引用,即引用计数-1时为0,则被回收?如是引用计数为0,不是即时就将对象销毁了吗?
    2019-10-29 19:59:27
  • 好帮手慕美 回复 提问者 慕丝8021493 #2
    同学,你好。在创建对象时,该对象的引用计数为1。删除对象时引用计数-1为0,此时并不会立即销毁,而是达到对该对象垃圾回收启动的阈值时,始终没有被引用的话则会被回收。祝学习愉快~~~~
    2019-10-30 12:00:37
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师