【Java】Java中的引用类型

强引用(StrongReference)

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

软引用(SoftReference)

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

弱引用(WeakReference)

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

虚引用(PhantomReference)

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

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

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

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

相关推荐
Whisper_Sy5 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
乂爻yiyao5 小时前
1.1 JVM 内存区域划分
java·jvm
没有bug.的程序员6 小时前
Spring Cloud Eureka:注册中心高可用配置与故障转移实战
java·spring·spring cloud·eureka·注册中心
CryptoRzz6 小时前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
码农水水6 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
若鱼19196 小时前
SpringBoot4.0新特性-BeanRegistrar
java·spring
好好研究7 小时前
SpringBoot - yml配置文件
java·spring boot·spring
学海无涯书山有路7 小时前
Android FragmentContainerView 新手详解(Java 版)
android·java·开发语言
XiYang-DING8 小时前
【Java SE】数据类型、变量、类型转换、运算符以及程序逻辑控制
java·开发语言
闻哥8 小时前
Redis 避坑指南:从命令到主从的全链路踩坑实录
java·数据库·redis·缓存·面试·springboot