四种引用:在JDK1.2之前,一个对象的引用只有“已被引用”和“未被引用”两种状态,但是在一些特殊情况下的对象无法描述,所以在JDK1.2之后,引用分为“强引用” Strong Reference,软引用 Soft Reference, 弱引用 Weak Reference, 虚引用 Phantom Reference。1⃣️强引用:Object obj = new Object(); 只要obj还指向Object对象,object对象就不会被回收。2⃣️软引用:用来描述一些非必需但仍有用的对象。在内存充足的时候,软引用对象不会被回收。在内存不足时,系统则会收回软引用对象。在回收了软引用对象后,内存还不足时才会抛出内存溢出异常。3⃣️弱引用:弱引用比软引用还要更弱一些。不论内存是否足够,只要JVM开始垃圾回收,那些被弱引用关联的对象都会被回收。4⃣️虚引用:虚引用是最弱的一种引用,如果一个对象仅持有虚引用,那么它就和没有任何引用一样,随时都可能被回收。