强引用(new)
只要强引用存在,GC就永远不会回收被引用的对象。
只要某个对象与强引用关联,那么JVM在内存不足的情况下,宁愿抛出OutOfMemoryError错误,也不会回收此类对象
软引用(SoftReference)
描述一些存在但并非必需的对象,JDK1.2后提供SoftReference类来实现软引用
JVM只会在内存不足的情况下才会回收该对象
弱引用(WeakReference)
描述非必需的对象,JDK1.2后提供WeakReference类来实现弱引用
如果某个对象与弱引用关联,那么当JVM在进行垃圾回收时,无论内存是否充足,都会回收此类对象
虚引用(PhantomReference)
最弱的一种引用关系,JDK1.2后提供PhantomReference类来实现虚引用
若某个对象与虚引用关联,那么在任何时候都有可能被JVM回收掉。虚引用不能单独使用,必须配合队列一起使用








网友评论