Java对象引用类型分强、软、弱、虚四种,强引用永不被GC回收,软引用在内存不足时回收,弱引用在每次GC时回收,虚引用仅用于回收通知且需配合ReferenceQueue。

Java 中的对象引用类型共有四种:强引用、软引用、弱引用和虚引用。它们的区别主要体现在垃圾回收(GC)时的处理策略上,决定了对象在内存紧张或特定时机是否被回收。合理使用这些引用类型,能帮助我们更精细地控制内存生命周期,尤其在缓存、监听器管理、资源清理等场景中非常关键。
最常见、默认的引用类型。只要强引用还存在,GC 就永远不会回收该对象。
描述“有用但非必需”的对象。当系统内存不足时,GC 会优先回收软引用指向的对象,适合实现内存敏感的缓存。
比软引用更“弱”,只存活到下一次 GC 开始前。无论内存是否充足,只要发生 GC,就会被回收。常用于避免内存泄漏,比如缓存、Map 键值绑定、监听器解注册等。
立即学习“Java免费学习笔记(深入)”;
最弱的一种引用,无法通过它获取对象实例(get() 总返回 null)。唯一作用是在对象被 GC 回收后收到系统通知,常配合 ReferenceQueue 实现资源清理逻辑。
基本上就这些。四种引用本质是 JVM 提供的不同“持有强度”契约,不是语法糖,而是直接参与 GC 决策的底层机制。用对了能提升程序健壮性,用错了反而增加复杂度——日常开发中强引用占 95% 以上,其余三类按需谨慎引入即可。
以上就是Java对象引用类型有哪些_OOP引用分类与使用说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号