Java中的引用是指通過一個引用變量來訪問一個對象。Java中主要有兩種引用:強引用和軟引用。
強引用是Java默認的引用類型,是指只要一個對象是強引用所指向的對象,那么垃圾收集器就永遠不會回收該對象。強引用通常是指向一個真正需要保留的對象上。
Object obj = new Object();//obj是一個強引用,指向一個新創建的對象
軟引用是Java中另外一種引用類型。軟引用不像強引用那樣固執己見,如果內存不足,垃圾收集器就會把這些對象進行回收。軟引用通常是用來進行內存敏感的緩存操作上。
Object obj = new Object(); SoftReference
軟引用可以通過get()方法來獲取引用所指向的對象。如果該對象還沒有被回收,get()方法就會返回該對象;否則,get()方法返回null。
Object obj = new Object(); SoftReference
使用軟引用可以避免OutOfMemoryError異常,增強程序的穩定性,但在使用過程中需要注意保護引用不被意外地斷開。否則,軟引用所指向的對象就會被過早地回收。