程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java引用,java引用是什麼

Java引用,java引用是什麼

編輯:JAVA綜合教程

Java引用,java引用是什麼


Java引用分為強引用、軟引用、弱引用和虛引用。

  • 強引用就是指在程序代碼中普遍存在的,類似“Object obj = new Object()”這類的引用,只要強引用還存在,垃圾收集器永遠不會回收掉被引用的對象。
  • 軟引用是用來描述一些還有用但並非必需的對象,在系統將要發生內存溢出異常之前,將會把這類對象列進回收范圍之中進行第二次回收。如果這次回收還是沒有足夠的內存,才會拋出內存溢出異常。在JDK1.2之後,提供了SoftReference類來實現軟引用。
  • 弱引用也是用來描述非必需對象的,但是它的強度比軟引用更弱一些,只能生存到下一次垃圾收集器工作之前。當垃圾收集器工作時,無論當前內存足夠與否,都會回收掉只被弱引用關聯的對象。在JDK1.2之後,提供了WeakReference類來實現弱引用。
  • 虛引用也稱為幽靈引用或者幻影引用,它是最弱的一種引用關系。一個對象是否有虛引用的存在,完全不會對其生存時間構成影響每頁無法通過虛引用來取得一個對象實例。為一個對象設置虛引用關聯的唯一目的就是能在這個對象被垃圾收集器回收時收到一個系統通知。在JDK1.2之後,提供了PhantomReference類來實現虛引用。

 

——摘自《深入理解java虛擬機》

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved