【Java】Java中的引用类型

强引用(StrongReference)

通过new直接创建的对象,只要该对象还可以被其它对象使用或访问到,就不会被回收

软引用(SoftReference)

引用一个对象,该对象在系统内存溢出不足时,会自动进行回收

弱引用(WeakReference)

引用一个对象,该对象在虚拟机进行GC时,一定会被回收

虚引用(PhantomReference)

不引用对象,但会关联对象和一个引用队列,当该对象被回收时,会将自己加入到引用队列中

这个特性用来记录对象被回收的情况,当引用队列中多出一个reference时,就表明其关联的对象已经被回收了

如果我们担心忘记回收某个对象,可以使用此特性来记录

我们也可以利用此特性,在发现某个对象被回收时,释放预期相关的资源

相关推荐
考虑考虑1 小时前
JDK27中的Set.ofLazy
java·后端·java ee
文丑颜不良啊1 小时前
LeetCode2841~2860题目解析
java·leetcode
小南家的青蛙1 小时前
Tomcat与Jetty深度对比
java·tomcat·jetty
乌暮2 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
YDS8293 小时前
Small Spring IOC篇:容器事件及其监听器
java·spring
金銀銅鐵3 小时前
带您看懂字节码指令(三):一行加法里有什么
java·jvm
文丑颜不良啊3 小时前
LeetCode2921~2940题目解析
java·leetcode
北漂人Java4 小时前
基于 Spring AI Alibaba WorkFlow 构建 Java 生产级 AI Agent
java·人工智能·spring
用户112936112194 小时前
编译全绿,上线就崩:MyBatis 五层方法名大小写埋下的坑
java
文丑颜不良啊5 小时前
LeetCode2901~2920题目解析
java·leetcode