JAVA将引用分为强引用、软引用、弱引用、虚引用(注意这里的引用是指地址)
1、强引用
强引用是指在程序代码中普遍存在,类似Object o=new Object()的引用;只要强引用还在,垃圾收集器就永远不会回收到被引用的对象。
2、软引用
对于软引用,当系统将要发生内存溢出时,垃圾收集器会对其引用的对象进行回收
3、弱引用
弱引用就是不论当前内存是否足够,只要垃圾收集器工作时就会对其引用的对象进行回收
4、虚引用
虚引用也称幻影引用,它是最弱的引用关系密切。一个对象的虚引用存在与否,完全不会对其生存时间构成影响力,也无法无天通过通过虚引用来取得胜利一个对象实例。它惟一的作用就是能在对象回收的时候得到一个通知