2 y415878349 y415878349 于 2014.08.14 18:27 提问

软引用实现缓存在实际项目中的用处大不大?

我把以前写的关于弱引用实现java缓存的实例分享给大家,虽然简单但是能说明软引用实现缓存的原理,有助于学习软引用集合等.对于弱引用,软引用,虚引用的概念相信大家已经熟悉了,我们这里就不讲解了,直接上例子.

import java.lang.ref.SoftReference;

/**

  • 软引用测试
    */
    public class SoftReferenceDemo {

    public static void main(String[] args) {

    A a = new A();
    //使用a
    a.test();
    //使用完了a,将它设置为soft引用类型,并且释放强引用
    SoftReference sr = new SoftReference(a);
    a = null;
    
    //下次使用
    if (sr != null) {
        a = (A)sr.get();
        a.test();
    } else {
        //GC由于低内存,已释放a,因此需要重新装载
        a = new A();
        a.test();
        a = null;
        sr = new SoftReference(a);
    }
    

    }
    }
    class A {
    public void test() {
    System.out.println("Soft Reference test");
    }

}

小结:对于在内存中不经常使用,也就是偶尔调用一次的应用可以考虑使用软或则弱引用,以提高垃圾回收效率.

更多的技术帖子来自www.watchmen.cn

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!