静态变量与实例变量的回收

静态变量与实例变量的回收

老师,本节讲述了静态变量和实例变量的区别,说道静态变量不会被垃圾回收机制回收,而实例变量在不使用时就会被回收。我想问下,

  1. 程序是以什么为依据判断我们的实例变量已经不需要了?

  2. 如果实例变量回收,包含它的实例对象是一起被回收掉了么?

正在回答

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

1回答

你好!当实例不再使用的时候,也就是没有引用指向实例的时候,会被Java的垃圾回收机制进行回收。而实例被回收的时候,实例变量跟着一起被回收。

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

  • 哆丶哆 提问者 #1
    是呀,那要怎样才算不再使用啊?比如我新new出一个对象实例,但是程序中偶尔调用一次,也就是使用一次后,长时间没被使用,会被当成垃圾回收掉么?另外,怎么样才算没有引用指向实例呢?可以自己手动回收对象么?
    2019-08-02 20:17:33
  • 好帮手慕珊 回复 提问者 哆丶哆 #2
    你好!没有引用指向这个实例,就是实例不再使用。比如有一个Cat类,我们创建了对象Cat cat=new Cat();如果设置cat=null;而之前也没将cat赋值给其他Cat引用,那么通过new Cat()创建的对象,就没有引用指向它了,它就会被垃圾回收掉。可以通过代码调用垃圾回收器进行回收,但是一般作用不大,垃圾回收器没那么听话,所以等着它来回收就可以了。祝学习愉快!
    2019-08-03 09:52:27
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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