无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否引用链可达,判定对象是否存活都和“引用”离不开关系。如今,将引用分为强引用、软引用、弱引用和虚引用4种,强度依次减弱。
1、强引用:发生GC的时候不会被回收。
2、软引用:有用但不是必须的对象,在发生内存溢出之前会被回收。
3、弱引用:有用但不是必须的对象,在下一次GC的时候会被回收。
4、虚引用:无法通过虚引用获得对象,用PhantomReference实现虚引用,虚引用的用途是在GC时返回一个通知。
无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否引用链可达,判定对象是否存活都和“引用”离不开关系。如今,将引用分为强引用、软引用、弱引用和虚引用4种,强度依次减弱。
1、强引用:发生GC的时候不会被回收。
2、软引用:有用但不是必须的对象,在发生内存溢出之前会被回收。
3、弱引用:有用但不是必须的对象,在下一次GC的时候会被回收。
4、虚引用:无法通过虚引用获得对象,用PhantomReference实现虚引用,虚引用的用途是在GC时返回一个通知。