【Java】Java中的引用类型

强引用(StrongReference)

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

软引用(SoftReference)

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

弱引用(WeakReference)

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

虚引用(PhantomReference)

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

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

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

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

相关推荐
嘵奇2 分钟前
Spring Boot 跨域问题全解:原理、解决方案与最佳实践
java·spring boot·后端
黄雪超7 分钟前
JVM——方法内联之去虚化
java·开发语言·jvm
h汉堡17 分钟前
C/C++内存管理
java·c语言·开发语言·c++·学习
枣伊吕波37 分钟前
第六节第二部分:抽象类的应用-模板方法设计模式
android·java·设计模式
xinxiyinhe41 分钟前
内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册
java·开发语言·jvm
心向阳光的天域1 小时前
黑马Java跟学.最新AI+若依框架项目开发(一)
java
what_20181 小时前
分布式链路跟踪
java·运维·分布式
oliveira-time1 小时前
ArrayList和LinkedList区别
java·开发语言
潮流coder1 小时前
IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
java·ide·intellij-idea
码农飞哥1 小时前
互联网大厂Java求职面试实战:Spring Boot与微服务场景深度解析
java·数据库·spring boot·安全·微服务·消息队列·互联网医疗