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分区:
共享:堆、方法区,
私有:本地方法栈,虚拟机栈、程序计数器

猜你喜欢

转载自blog.csdn.net/qq_41884976/article/details/89432254