java强软弱虚引用总结

1、强引用(死也不回收)

new出来的对象 ,死也不回收 OOM的主要原因之一

2、软引用(不够即回收)

内存够时不清空,内存不够时 执行二次回收,回收后依然不够后报OOM

    User u = new User();
    SoftReference<User> usor = new SoftReference<User>(u);
    u = null ;
    usor.get();  //获取对象 回收前能获取到

3、弱引用(发现即回收)

第一次垃圾回收时就进行回收

User u = new User();
    WeakReference<User> usor = new WeakReference<User>(u);
    u = null ;
    usor.get();  //获取对象  回收前能获取到

4、虚引用(对象回收跟踪)

完全不决定对象的生命周期,希望回收前得到一个系统通知
get不到对象

特点
1、软引用和弱引用非常适合保存可有可无的缓存数据
2、finalize()方法在垃圾回收时调用,可进行复活对象 但是只能调用一次

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值