强引用、弱引用、虚引用、软引用

强引用:

  • 就是普通引用。比如
    A o1=new A();
    A o2=o1;
    强引用只有当所有对这个对象的所有引用(o1,o2)失效后,new A()的内存才会被回收。

弱引用 (WeakReference)

  • 弱引用的对象是在正常情况下,回收器遇到就回收,是被积极回收的对象。
    调用system.gc对象可被虚拟机回收

软引用(SoftReference)

  • 软引用是仅在内存不够时才回收,属于消极回收。
    system.gc对其无效

虚引用(PhantomReference)

  • "虚引用"顾名思义,就是形同虚设,与其他几种引用都不同,虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收。虚引用主要用来跟踪对象被垃圾回收的活动。

应用

  • 虚引用、
  • 弱引用、
  • 软引用
    软引用可以加速JVM对垃圾内存的回收速度,可以维护系统的运行安全,防止内存溢出(OutOfMemory)等问题的产生。

都用来引用随时可能被回收的对象,区别是被回收器回收的激烈程度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值