目錄
一、強引用
在Java 中最常見的就是強引用,把一個對象賦給一個引用變量,這個引用變量就是一個強引
用。當一個對象被強引用變量引用時,它處於可達狀態,它是不可能被垃圾回收機制回收的,即使
該對象以後永遠都不會被用到 JVM 也不會回收。因此強引用是造成 Java 內存泄漏的主要原因
之一。
例如:A a=new A();
二、軟引用
使用關鍵字SortReference修飾,當內存足夠時不會被回收,當內存不夠時會被優先回收,使
用軟引用的場景一般表示當前對象是可有可無的,例如可使用弱引用實現內存敏感的高速緩存。
三、弱引用
使用WeekReference修飾,只要垃圾回收器一執行,該對象就會被回收,完全不care內存是否
足夠。
四、虛引用
引用需要 PhantomReference 類來實現,它不能單獨使用,必須和引用隊列聯合使用。引用的主要
作用是跟蹤對象被垃圾回收的狀態。