WeakReference与SoftReference
生活随笔
收集整理的這篇文章主要介紹了
WeakReference与SoftReference
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
WeakReference與SoftReference都可以用來保存對象的實例引用,這兩個類與垃圾回收有關。
WeakReference是弱引用,其中保存的對象實例可以被GC回收掉。這個類通常用于在某處保存對象引用,而又不干擾該對象被GC回收,通常用于Debug、內存監視工具等程序中。因為這類程序一般要求即要觀察到對象,又不能影響該對象正常的GC過程。
最近在JDK的Proxy類的實現代碼中也發現了Weakrefrence的應用,Proxy會把動態生成的Class實例暫存于一個由Weakrefrence構成的Map中作為Cache。
?
SoftReference是軟引用,它保存的對象實例,除非JVM即將OutOfMemory,否則不會被GC回收。這個特性使得它特別適合設計對象Cache。對于Cache,我們希望被緩存的對象最好始終常駐內存,但是如果JVM內存吃緊,為了不發生OutOfMemoryError導致系統崩潰,必要的時候也允許JVM回收Cache的內存,待后續合適的時機再把數據重新Load到Cache中。這樣可以系統設計得更具彈性。
轉載于:https://www.cnblogs.com/lchd/p/3470911.html
總結
以上是生活随笔為你收集整理的WeakReference与SoftReference的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Quartz.net 2.0的使用说明
- 下一篇: Arduino 端口通信实例