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

友情链接

原文地址:https://www.cnblogs.com/huhx/p/baseusejavareference1.html