强引用(StrongReference)
通过new直接创建的对象,只要该对象还可以被其它对象使用或访问到,就不会被回收
软引用(SoftReference)
引用一个对象,该对象在系统内存溢出不足时,会自动进行回收
弱引用(WeakReference)
引用一个对象,该对象在虚拟机进行GC时,一定会被回收
虚引用(PhantomReference)
不引用对象,但会关联对象和一个引用队列,当该对象被回收时,会将自己加入到引用队列中
这个特性用来记录对象被回收的情况,当引用队列中多出一个reference时,就表明其关联的对象已经被回收了
如果我们担心忘记回收某个对象,可以使用此特性来记录
我们也可以利用此特性,在发现某个对象被回收时,释放预期相关的资源