JAVA四种引用方式_Qian-Z的博客-CSDN博客_java的四种引用方式
1.强引用;
创建的对象不会被回收,就算JVM抛出OOM也不会将这些对象给回收
2.软引用
在内存足够的时候,软引用对象不会被回收,只有在内存不足时,系统则会回收软引用对象,如果回收了软引用对象之后仍然没有足够的内存,才会抛出内存溢出异常
3.弱引用
创建的对象在发生GC的时候会进行回收;(所以因为内存泄漏,无用对象无法被回收的情况就不会出现啦)
弱引用必须和引用队列 (ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有弱引用,就会在回收对象的内存之前,把这个弱引用加入到与之 关联的引用队列中。程序可以通过判断引用队列中是否已经加入了弱引用,来了解被引用的对象是否将要被垃圾回收
4.虚引用 (PhantomReference
虚引用和前面的软引用、弱引用不同,它并不影响对象的生命周期。如果一个对象与虚引用关联,则跟没有引用与之关联一样,在任何时候都可能被垃圾回收器回收。