Java SoftReference优先级

我有一个应用程序,它有几个非常大的数据块,这些数据块需要很长的时间来计算。我把每一个数据块都作为一个SoftReference来保存,因为我可以重新计算它们,但这需要很长的时间。所以只要我有足够的内存,我就想重用我已经计算过的东西。这正是Java SoftReference的作用。

然而,我真正想做的是对这些数据块进行排序,因为有些数据块比其他数据块更重要,计算时间更长,所以我想让垃圾收集器最后收集这些数据。

我不想要一个解决方案,我把这些数据块写到磁盘上。我知道怎么做。我只是希望能够在我的软引用上设置垃圾收集的顺序优先级。

解决方案:

我们不保证一个软引用被清除的时间,也不保证一组不同对象的软引用被清除的顺序。

通常情况下,JVM实现会在清理最近创建的引用或最近使用的引用之间进行选择。

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/212.html

(0)
上一篇 2022年6月29日 下午3:54
下一篇 2022年6月29日 下午3:54

相关推荐

发表评论

登录后才能评论