强引用软引用弱引用幻象引用有什么区别

Posted ywxaq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强引用软引用弱引用幻象引用有什么区别相关的知识,希望对你有一定的参考价值。

1.强引用:正常使用过程中创建的对象一般都为强引用,强引用不会被JVM回收,即使触发OOM,也不会回收强引用的对象;当显式的将强引用的对象赋值为null的时候,JVM会在某个时间回收该对象;

 

2.软引用(SoftReference):在Java中用java.lang.ref.SoftReference类来表示,JVM会在内存快要溢出时回收;

 

3.弱引用(WeakReference):在Java中用java.lang.ref.WeakReference类来表示,无论JVM内存是否充足,弱引用对象都有可能被回收;

 

4.虚引用(PhantomReference):在Java中用java.lang.ref.PhantomReference类来表示,有的时候也称为幻象引用,不影响对象的生命周期,必须和引用队列关联使用,在任何时候都有可能被回收;

以上是关于强引用软引用弱引用幻象引用有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

强引用软引用弱引用幻象引用有什么区别和使用场景

java面试-强引用软引用弱引用和幻象引用有什么区别

Java -- 每日一问:强引用软引用弱引用幻象引用有什么区别?

Java核心技术强引用软引用弱引用和幻象引用的区别

Java核心技术强引用软引用弱引用和幻象引用的区别

java中强引用软引用弱引用幻象引用有什么区别?分别使用在什么场景?