关于弱引用WeakRefrence 和软引用SoftRecfrece的理解

本文探讨了使用WeakReference和SoftReference解决Java中内存溢出(OutOfMemoryError)问题的方法,以及如何通过这两种引用类型预防内存泄漏,特别是在单例模式、非静态内部类和线程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上结论: 为了解决OOM问题而 应用的.
作用时机:

  1. WeakReference:弱引用–>随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收。要获取对象时,同样可以调用get方 法。

  2. SoftReference:软引用–>当虚拟机内存不足时,将会回收它指向的对象;需要获取对象时,可以调用get方法。

  3. WeakReference一般用来防止内存泄漏,要保证内存被虚拟机回收,SoftReference多用作来实现缓存机制(cache),比如网页缓存,图片缓存;
    ————————————————
    原文链接:https://blog.csdn.net/stevenhu_223/article/details/18360397

常见的内存泄漏问题及弱引用的应用:

  1. 单例造成的内存泄漏
  2. 非静态内部类创建静态实例造成的内存泄漏
  3. 线程造成的内存泄漏
    及 关于一些内存泄漏的建议
    参考链接:https://blog.csdn.net/printfcc/article/details/79131479
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值