WeakHashMap初探

1、特點:
隨着時間的推移,其中的元素會被垃圾回收器回收
2、涉及到的4中引用:
強引用:(StrongReference) 就是指在程序代碼之中普遍存在的,例如以下代碼:

Object object = new Object();
String str = "hello";

強引用關聯的對象在內存不夠時也不會被垃圾回收器回收,
回收時間:當前對象爲null時被回收;

軟引用:(SoftReference) 用來描述一些有用但並不是必需的對象
軟引用對象,如果內存不足,此對象會被回收;
在Java中用java.lang.ref.SoftReference類來表示
SoftReference<String> sr = new SoftReference<String>(new String("hello"));
弱引用:(WeakReference)弱引用也是用來描述非必需對象的,
當JVM進行垃圾回收時,無論內存是否充足,都會回收被弱引用關聯的對象
用java.lang.ref.WeakReference類來表示

WeakReference<String> sr = new WeakReference<String>(new String("hello"));

虛引用:(PhantomReference)不影響對象的生命週期,一般用於檢測此對象是否被回收。
如果一個對象與虛引用關聯,則跟沒有引用與之關聯一樣,在任何時候都可能被垃圾回收器回收。
在java中用java.lang.ref.PhantomReference類表示

如弱引用和軟引用的區別:

3、垃圾回收機制
jvm分區:
共享:堆、方法區,
私有:本地方法棧,虛擬機棧、程序計數器

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