Java中的引用

  • 強引用(StrongReference):就是在代碼中普遍存在的,類似Object obj = new Object()這類的引用,只要強引用還存在,GC永遠不會回收掉被引用的對象。

  • 軟引用(SoftReference):用來描述一些還有用但非必須的對象。對于軟引用關聯著的對象,在系統將要發生內存溢出異常時,將會把這些對象列入回收范圍之中進行第二次回收。如果這次回收還沒有足夠的內存,才會拋出內存溢出異常。在JDK 1.2之后,提供了SoftReference類來實現軟引用。

  • 弱引用(WeakReference):也是用來描述非必須對象的,但是它的強度比軟引用更弱一些,被弱引用關聯的對象只能生存到了下一次GC發生之前。當GC工作時,無論當時內存是否足夠,都會回收只被弱引用關聯的對象。在JDK 1.2之后,提供了WeakReference類來實現弱引用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容