java中的强引用、软引用、弱引用、虚引用
1.强引用(Strong Reference):指程序代码中普遍存在的,类似“Object obj = new Object()”这类的引用,只要对象存在强引用关联,JVM必定不会回收这个对象;
2.软引用(soft Reference):指还有用但并非必须的对象,当系统将要发生OOM时,回收这些对象;适合做缓存;
3.弱引用(weak Reference):指非必须的对象,只能生存到下一次GC发生之前。
4.虚引用(PhantomReference):无法通过虚引用获取对象实例(get 方法总是返回null),存在的唯一目的就是能在这个对象被GC时收到一个系统通知,可以用来实现类似Object.finalize功能