大家好,又见面了,我是你们的朋友全栈君。
1、特点: 随着时间的推移,其中的元素会被垃圾回收器回收 2、涉及到的4中引用: 强引用:(StrongReference) 就是指在程序代码之中普遍存在的,例如以下代码:
代码语言:javascript复制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分区: 共享:堆、方法区, 私有:本地方法栈,虚拟机栈、程序计数器
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138176.html原文链接:https://javaforall.cn