Java的引用

来源:互联网 发布:淘宝买账号的靠谱吗 编辑:程序博客网 时间:2024/06/11 17:51
        String abc = new String("123");        SoftReference<String> sr = new SoftReference<String>(abc);// 其实是引用的是堆中的new String()        WeakReference<String> wr = new WeakReference<String>(abc);// 与软引用相同        abc = null;// 赋null, 说明abc这个对象指向了null, 堆中的new String()此时被软引用和弱引用持有着        System.out.println("SoftReference: " + sr.get());// 打印结果123        System.out.println("WeakReference: " + wr.get());// 打印结果123        sr.clear();// 断开new String()的引用        System.out.println("SoftReference: " + sr.get());// 打印结果null;        System.out.println("WeakReference: " + wr.get());// 打印结果123, 此时WeakReference仍持有new String()的引用, 是弱可及的, 随时会被GC回收
原创粉丝点击