Java中的四種引用類型,強引用,軟引用,弱引用,虛引用


對於Java中的垃圾回收機制來說,對象是否被回收的標准在於該對象是否被引用。因此,引用也是JVM進行內存管理的一個重要概念。

Java中對象的引用一般有以下4種類型:

1強引用  2軟引用  3弱引用  4虛引用

以下一一介紹其用法和區別

1強引用:在Java中最常見的就是強引用,把一個對象賦給一個引用變量,這個引用變量就是一個強引用。當一個對象被強引用變量引用時,它處於可達狀態,它是不可能被垃圾回收機制回收的,即使該對象以后永遠都不會被用到JVM也不會回收。因此強引用是造成Java內存泄漏的主要原因之一。

2軟引用:軟引用需要用SoftReference類來實現,對於只有軟引用的對象來說,當系統內存足夠時它不會被回收,當系統內存空間不足時它會被回收。軟引用通常用在對內存敏感的程序中。

3弱引用:弱引用需要用WeakReference類來實現,它比軟引用的生存期更短,對於只有弱引用的對象來說,只要垃圾回收機制一運行,不管JVM的內存空間是否足夠,總會回收該對象占用的內存。

4虛引用:虛引用需要PhantomReference類來實現,它不能單獨使用,必須和引用隊列聯合使用。虛引用的主要作用是跟蹤對象被垃圾回收的狀態。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM