相关疑难解决方法(0)

如何在Java中清除软引用?

我有一个缓存,它具有对缓存对象的软引用.我正在尝试为类的行为编写功能测试,这些类使用缓存专门用于清除缓存对象时发生的情况.

问题是:我似乎无法可靠地获得要清除的软引用.简单地使用一堆内存并不能解决问题:在清除任何软引用之前,我得到一个OutOfMemory.

有没有办法让Java更加急切地清理软引用?


这里找到:

"虽然在抛出OutOfMemoryError之前所有的SoftReferences都会被清除,但是理论上它们不会导致OOME."

那么这是否意味着上面的场景必须意味着我的内存泄漏,某些类在我的缓存对象上持有一个硬引用?

java garbage-collection soft-references

20
推荐指数
3
解决办法
1万
查看次数

为什么我们需要java中的弱引用

我知道弱引用受到垃圾收集器的支配,我们不能保证弱引用会存在.我看不出需要弱参考,但确定应该有理由.

  • 为什么我们需要java中的弱引用?
  • java中弱引用的实际(某些)用法是什么?如果您可以分享您在项目中的使用方式,那就太棒了!

java weak-references

19
推荐指数
3
解决办法
9825
查看次数