java 中的四种引用

来源:互联网 发布:mac移动硬盘无法拷贝 编辑:程序博客网 时间:2024/06/05 19:27
public class YyPractice {public static void main(String[] args) {// 强引用 不会被回收User u = new User();// 软引用 内存紧张的时候会被回收SoftReference sr = new SoftReference(new User());// 弱引用 不管内存是否足够 系统垃圾回收是必定会回收WeakReference wr = new WeakReference(new User());// 虚引用// 创建一个虚引用队列ReferenceQueue<User> rq = new ReferenceQueue<User>();// 创建一个虚引用PhantomReference<User> pr = new PhantomReference<User>(u, rq);// 切断引用u = null;System.out.println(pr.get()); // nullSystem.gc();System.runFinalization();System.out.println(rq.poll() == pr); // true}}