全屏浏览
缩小浏览
回到页首

java基础---->Reference的使用(一)

  这里记录一些java中关于引用的知识。

java中的引用

一、java中关于引用的测试

public class ReferenceTest {
    public static void main(String[] args) {
        SoftReference<Person> softReference = new SoftReference<Person>(new Person("huhx", "123456"));
        System.out.println(softReference.get()); // username: huhx, password: 123456
        System.gc();
        System.runFinalization();
        System.out.println(softReference.get()); // username: huhx, password: 123456

        WeakReference<Person> weakReference = new WeakReference<Person>(new Person("linux", "12345"));
        System.out.println(weakReference.get()); // username: linux, password: 12345
        System.gc();
        System.runFinalization();
        System.out.println(weakReference.get()); // null

        ReferenceQueue<String> refQueue = new ReferenceQueue<String>();
        PhantomReference<String> referent = new PhantomReference<String>(new String("T"), refQueue);
        System.out.println(referent.get());// null
        System.gc();
        System.runFinalization();
        System.out.println(refQueue.poll() == referent); // true
    }
}

关于java引用的详细说明,可以参考博客:http://www.cnblogs.com/rollenholt/archive/2011/09/21/2183077.html

posted @ 2017-06-22 14:39  huhx  阅读(283)  评论(0编辑  收藏  举报