强软弱虚四大引用

强引用:

如果一个对象具有强引用,垃圾回收器不会回收该对象,当内存空间不足时,JVM 宁愿抛出 OutOfMemoryError异常。

java 复制代码
//  强引用
User user=new User();//user就是强引用

软引用:

如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存。

应用场景:内存敏感的高速缓存

弱引用:

在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。

虚引用:

用来跟踪对象的垃圾回收。一般用于管理堆外内存

相关推荐
wuminyu5 小时前
JVM规范学习总结-Java源码经过javac编译后产物
java·linux·c语言·jvm·c++
学到老活到老1 天前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老1 天前
写了 new,就一定会在堆上分配对象吗?
java·jvm
笨笨饿1 天前
# 59_CSDN博客自动写流程文章
linux·jvm·stm32·单片机·嵌入式硬件·mcu·51单片机
tedcloud1231 天前
Docker Compose 部署 Memos:从安装到备份恢复
linux·开发语言·jvm·后端·docker·容器·rust
螺蛳粉 螺蛳粉1 天前
大数据第四篇:事故复盘:移走 HBase 里 27 个 hadoop-2.10.2 jar 后,HMaster 半小时后“自杀“了【jar 事故复盘】
jvm·hadoop·hbase·异常处理·大数据运维·踩坑记录·事故复盘
wuminyu1 天前
JVM规范学习总结-JVM规范基本概念
java·linux·c语言·jvm·c++
学到老活到老2 天前
方法执行完了,对象为什么还占着内存?
java·jvm
骑着蜗牛撵大象3272 天前
四种库收进一个SQL编辑器(下):跨库取数、方言对齐与四库巡检的落地拆解
jvm·数据库·sql·编辑器·数据迁移·跨库查询
需要8263 天前
容器化 Java:镜像瘦身与 JVM 容器感知(cgroup)
java·开发语言·jvm