【发布时间】:2010-10-02 05:11:16
【问题描述】:
我有一个缓存,其中包含对缓存对象的软引用。我正在尝试为使用缓存的类的行为编写功能测试,专门用于清除缓存对象时发生的情况。
问题是:我似乎无法可靠地清除软引用。简单地用完一堆内存并不能解决问题:在清除任何软引用之前,我得到了 OutOfMemory。
有什么方法可以让 Java 更积极地清理软引用?
找到here:
“虽然可以保证所有 SoftReferences 将在之前被清除 OutOfMemoryError 被抛出,所以他们 理论上不会导致OOME。”
那么这是否意味着上述情况一定意味着我在某个地方存在内存泄漏,并且某个类在我的缓存对象上持有硬引用?
【问题讨论】:
标签: java garbage-collection soft-references