ReferenceQueue

java的引用
1. 強引用
只要是這個強引用存在時,內存中會一直保留他的內存,即使垃圾回收器來回收垃圾時,也不會回收這個對象的內存。即使內存不足時,會報內存溢出
Object o = new Object();
2. 弱引用 WeakReference
生命週期很短,垃圾回收器回收時,就把它給回收掉了

     String s = new String("1"); 
     WeakReference<String> wr = new WeakReference<String>(s);
     s = null; 
     System.out.println("垃圾回收之前:"+wr.get()); //1
     System.gc();//垃圾回收
     System.out.println("垃圾回收之後:"+wr.get());// null
  1. 軟引用 SoftReference
    這個在垃圾回收器回收的時候,也不會回收這個對象的內存,只有在內存空間不足時纔會回收
     String s = new String("1"); 
     SoftReference<String> wr = new SoftReference<String>(s);
     s = null; 
     System.out.println("垃圾回收之前:"+wr.get()); //1
     System.gc();//垃圾回收
     System.out.println("垃圾回收之後:"+wr.get());// 1

ReferenceQueue和Reference以後再講

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章