抽象类与接口
抽象类与接口引用强度:强引用 > 软引用 > 弱引用 > 虚引用
强引用
不会被垃圾回收器回收,内存不足时,JVM会直接抛出OutOfMemoryError 。
直接new出来的对象。
软引用 SoftReference
内存够时不会被回收,内存不足时会回收,如果回收了软引用对象之后内存仍不足,会抛出内存溢出异常。
描述一些非必需但仍有用的对象。
弱引用 WeakReference
无论内存是否足够,只要 JVM 开始进行垃圾回收,被弱引用关联的对象都会被回收。
虚引用 PhantomReference
随时可能会被回收
与引用队列PhantomReference关联使用
ReferenceQueue<String> queue = new ReferenceQueue<String>();
PhantomReference<String> pr = new PhantomReference<String>(new String("abcd"), queue);
System.out.println(pr.get());
持续更新中...
(部分内容参考于网络,如有不妥,请联系删除~)
网友评论