来源:出现在JDK 1.2 ,为了更好的控制对象的生命周期。
所以把对象的引用分为四种:强引用、软引用、弱引用、虚引用,这四种类型引用强度依次减弱。
强引用:
很平常的一种引用,垃圾回收器不会回收它,当没有内存使用时,它宁愿抛出OutOfMemoryError 异常。
Object object = new Object();
软引用:
当内存不足的时候,就会回收这些对象的内存。
可以构造一个高速缓冲器的功能
弱引用:
当垃圾回收器的线程扫描到弱引用时,不管内存是否充足,它就会回收对象。
虚引用:
垃圾回收器任何时候都可以把它回收。