當咱們使用new 這個關鍵字建立對象時被建立的對象就是強引用,垃圾回收器就不會去回收有強引用的對象,而當內存不足時,jvm不會回收強引用的對象,會報內存空間不足的異常。jvm
當內存足夠時,垃圾回收器不會回收它,但若是內存不足了,就會回收軟引用對象。對象
只要垃圾回收器檢測到這樣的引用,就會當即回收掉該引用對象,無論內存是否足夠。隊列
若是一個對象僅持有虛引用,那麼它就和沒有任何引用同樣,在任什麼時候候均可能被垃圾回收器回收。 虛引用主要用來跟蹤對象被垃圾回收器回收的活動。虛引用與軟引用和弱引用的一個區別在於:虛引用必須和引用隊列 (ReferenceQueue)聯合使用。當垃圾回收器準備回收一個對象時,若是發現它還有虛引用,就會在回收對象的內存以前,把這個虛引用加入到與之 關聯的引用隊列中。內存