強引用(StrongReference):就是在代碼中普遍存在的,類似Object obj = new Object()這類的引用,只要強引用還存在,GC永遠不會回收掉被引用的對象。
軟引用(SoftReference):用來描述一些還有用但非必須的對象。對于軟引用關聯著的對象,在系統將要發生內存溢出異常時,將會把這些對象列入回收范圍之中進行第二次回收。如果這次回收還沒有足夠的內存,才會拋出內存溢出異常。在JDK 1.2之后,提供了SoftReference類來實現軟引用。
弱引用(WeakReference):也是用來描述非必須對象的,但是它的強度比軟引用更弱一些,被弱引用關聯的對象只能生存到了下一次GC發生之前。當GC工作時,無論當時內存是否足夠,都會回收只被弱引用關聯的對象。在JDK 1.2之后,提供了WeakReference類來實現弱引用。
Java中的引用
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 我們知道,動態代理(這里指JDK的動態代理)與靜態代理的區別在于,其真實的代理類是動態生成的。但具體是怎么生成,生...