23 Mayıs 2018 Çarşamba

WeakHashMap Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.WeakHashMap;
Açıklaması şöyle.
Elements is a WeakHashMap can be reclaimed by the garbage collector if there are no strong references to the object, this makes them useful for caches/lookup storage 
Bu sınıf ile WeakReference sınıfı ilişkilidir. Sınıfın key alanındaki nesneye strong reference olmasa bile GC devreye girinceye kadar halen erişilebilir. GC devreye girince key alanı silinir. Böylece bellekten tasarruf edilir.

put metodu
Şöyle yaparız.
WeakHashMap<Employee, EmployeeVal> aMap = new WeakHashMap<Employee, EmployeeVal>();

Employee emp = new Employee("Foo");
EmployeeVal val = new EmployeeVal("Bar");

aMap.put(emp, val);

emp = null;

System.gc();
int count = 0;
while (0 != aMap.size()) {
  ++count;
  System.gc();
}
System.out.println("Took " + count
  + " calls to System.gc() to result in weakHashMap size of : "
  + aMap.size());
Çıktı olarak şunu alırız.
Took 20 calls to System.gc() to result in aMap size of : 0.

Hiç yorum yok:

Yorum Gönder