内存泄漏问题

strong reference:一个强引用指向一个对象,证明这个对象是可达的,不会被垃圾回收。

soft reference : 比强引用弱的引用,可以得到一些垃圾回收豁免权,只有当内存空间严重不足的时候,会考虑回收soft reference。

weak reference:不能使对象豁免垃圾收集。仅仅是提供一种访问在弱应用状态下对象的途径。

一个线程新鲜创建的对象是强引用状态,但是后面会  逐渐变为软引用或者弱引用。 所有的引用类都是 java.lang.ref.Reference的子类,里面有get() 方法,这样可以使得弱应用和软引用重新得到强引用。 所以垃圾回收的时候都会双重确定引用状态。

这个时候,如果我们错误都保持了强引用关系的话,比如赋值给一个static变量,那么对象就没有机会变会类似弱引用的可达性状态了,就会产生内存泄漏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值