弱引用和软引用的使用方法

1.软引用的主要特点是具有较强的引用功能.只有当内存不够的时候,才回收这类内存,因此在内存足够的时候,它们通常不被回收.它可以用于实现一些常用资源的缓存,实现Cache的功能
  A a = new A(); 
  SoftReference sr = new SoftReference(a); 
  a = null; 
  
  if(sr !=null){ 
       a = sr.get(); 
  }else{ 
      a = new A(); 
       sr = new SoftReference(a); 
  }  


2.弱引用对象与Soft引用对象最大不同就在于:GC在进行回收时,需要通过算法检查是否回收Soft引用对象,而对于Weak引用对象,GC总是进行回收.

  A a = new A(); 
  WeakReference wr = new WeakReference(a); 
  a = null; 
  
  if(sr !=null){ 
       a = wr.get(); 
  }else{ 
      a = new A(); 
      wr = new WeakReference(a); 
  }

你可能感兴趣的:(算法,cache)