大家好,又见面了,我是你们的朋友全栈君。
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分区:
共享:堆、方法区,
私有:本地方法栈,虚拟机栈、程序计数器
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138176.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...