我想在我的库中使用缓冲池并考虑使用SoftReference
来实现对象的隐式返回和池大小平衡。ReferenceQueue适用于对象池吗?
因此,通过 “合适的” 我的意思是:
- 他们是相当高性能的比较明确的ArrayBlockingQueue,它例如? (小于数量级)
- 它们在现代虚拟机(如Hotspot,Dalvik和ART)中的可靠性是否足以比
WeakReference
更“柔和”?
对我来说,这不是“不成熟的优化”,只是一种架构选择,可以减少将对象返回池的麻烦,但如果不符合指定的要求,将会消除池的任何好处。
你如何计划在那里使用软引用?我认为我们可以放心地说,这些构造并非设计时考虑到了任何形式 - 它们是一个定型构造,并且与任何类型的定型一样,您不能期望它在任何合理的时间范围内执行或就此而言,所发生的事情取决于大量的JVM和GC特定配置。 –