千家信息网

JAVA 强、软、虚、弱引用是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"JAVA 强、软、虚、弱引用是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA 强、软、虚、弱引用是什么"吧!强引用只要
千家信息网最后更新 2026年11月01日JAVA 强、软、虚、弱引用是什么

这篇文章主要讲解了"JAVA 强、软、虚、弱引用是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA 强、软、虚、弱引用是什么"吧!

强引用
只要存在引用,则目标对象不会被GC垃圾处理掉;


软引用
SoftReference 包装使用,内存不足的情况时候,GC会回收掉对应的软引用对象
GC的时候会被特殊处理(显示的调用GC,HotSpot JVM 是stop其它线程,尽快进行GC;不会立即进行GC)

虚引用
PhantomReference 结合队列一块使用(JVM自己在使用,GC底层实现在使用)

帮助回收堆外内存,比如netty支持访问的外部缓冲区,JVM直接指向了此缓冲区的引用,单独的线程回对包装的队列进行扫描做回收处理;


弱引用

WeakReference 处于强引用和软引用之间的,经历一次GC,随即就被回收掉对象


例一:ThreadLocal 是弱引用的一个体现,线程的本地Map是继承自WeakReference,

ThreadLocal Set方法,是把当前对象设置到了当前线程的Map中,key 是 ThreadLocal对象,value 是放入的目标对象

如下图详细:

例二:事务@Transaction
不同DAO的调用方法,如何保证获取到同一个数据库连接,来保证事务一致性;

开始执行的方法执行的时候,获取的数据库连接对象会被放入到了当前线程的ThreadLocalMap中;
下一执行方法,直接从当前线程的ThreadLocalMap获取,则保证了同一个数据库连接,以确保事务。

感谢各位的阅读,以上就是"JAVA 强、软、虚、弱引用是什么"的内容了,经过本文的学习后,相信大家对JAVA 强、软、虚、弱引用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

对象 线程 方法 事务 数据 数据库 时候 保证 处理 学习 内存 内容 情况 目标 缓冲区 队列 包装 缓冲 不同 特殊 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技名片 中国互联网科技工作委员会毛军 金融科技 互联网金融 互联网金融 金融科技 善班互联网科技 互联网科技作文 深圳艾佳互联网科技 中国互联网金融科技基金 互联网科技生活的内容 互联网实体化科技化 团飞科技与伯堂互联网服务平台 互联网和黑科技的看法 湖南一路畅行互联网科技 未来五年的互联网科技 互联网科技和法律行业 高科技互联网套路 互联网企业科技类企业如何做账 张召忠谈中国互联网科技 南京一网一红互联网科技有限公司 萌小萌互联网科技河南有限公司 耶加雪菲 腾讯阿里互联网科技 唐信互联网科技 大连 老年人脱离互联网科技的作文 长沙茂晟互联网科技有限公司 中和天地互联网科技有限公司 信承诺互联网科技有限公司 唐山双旺合互联网科技产业园 恒生科技互联网指数十大成分股 科技发展第三阶段互联网时代
0