JAVA的变量引用强度由强到弱有四种:强引用、软引用、弱引用、虚引用。
1、强引用(Strong Reference)。即最常用的变量定义和引用,这种引用在引用链接释放前,内存是不会被回收的。
2、软引用(Soft Reference)。内存不够时,JVM向系统申请内存,直到系统内存不够时,内存被回收。
3、弱引用(Weak Reference)。GC运行两次时回收:第1次时发现(可到达)并放到ReferenceQueue中,第2次进行回收。
4、虚引用(Phantom Refernce)。