【Java】Java中的引用类型

强引用(StrongReference)

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

软引用(SoftReference)

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

弱引用(WeakReference)

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

虚引用(PhantomReference)

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

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

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

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

相关推荐
AI大模型13 小时前
被AI抢饭碗的Java程序员,后来都怎样了?
java·后端·ai编程
苦逼的猿宝13 小时前
医院管理系统.(源码+论文)
java·毕业设计·springboot·计算机毕业设计
東雪木13 小时前
JVM 与 Java 内存模型 专属复习笔记
java·jvm·笔记·java面试
爱睡觉11113 小时前
从 6500ms 到 49ms:一次 Java 内存布局优化的实录
java
摇滚侠13 小时前
IDEA 新建 Java 项目 学习 Java SE
java·学习·intellij-idea
未秃头的程序猿13 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·后端·ai编程
程序员老乔13 小时前
03-Spring-Security-JWT认证
java·后端·spring
程序员buddha13 小时前
传统 Spring 框架,XML 配置 Bean 的方式
xml·java·spring
希望永不加班13 小时前
SpringBoot 消费者并发控制:线程池配置
java·spring boot·后端·spring
MateCloud微服务14 小时前
从 Karpathy 加入 Anthropic 到 Claude Agent 化:MateClaw 为什么要做企业级 Agent Runtime
java·java agent·mateclaw·mateclaw agent·mc runtime·mc harness·mateclaw open