我在我的 Java 应用程序中安装了一个低内存检测器,它似乎运行良好。我MemoryPoolMXBean
与 a 结合使用NotificationListener
,将堆设置collectionUsageThreshold
为size * 0.9999
但是,我的应用程序中也有很多 SoftReference。即使应用程序在没有我的低内存检测器的情况下运行良好,检测器也会发出警告 - 很可能是因为软引用尚未被 GC 清除。
如果在所有可以清除的 SoftReferences 都被清除之后,x% 的可用内存被用完,有什么方法可以警告我吗?