我想在我的庫中使用緩衝池並考慮使用SoftReference
來實現對象的隱式返回和池大小平衡。ReferenceQueue適用於對象池嗎?
因此,通過 「合適的」 我的意思是:
- 他們是相當高性能的比較明確的ArrayBlockingQueue,它例如? (小於數量級)
- 它們在現代虛擬機(如Hotspot,Dalvik和ART)中的可靠性是否足以比
WeakReference
更「柔和」?
對我來說,這不是「不成熟的優化」,只是一種架構選擇,可以減少將對象返回池的麻煩,但如果不符合指定的要求,將會消除池的任何好處。
你如何計劃在那裏使用軟引用?我認爲我們可以放心地說,這些構造並非設計時考慮到了任何形式 - 它們是一個定型構造,並且與任何類型的定型一樣,您不能期望它在任何合理的時間範圍內執行或就此而言,所發生的事情取決於大量的JVM和GC特定配置。 –