博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】的四种引用的区别
阅读量:7220 次
发布时间:2019-06-29

本文共 379 字,大约阅读时间需要 1 分钟。

强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM 也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象 。 

软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。 
弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象 
虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。

转载地址:http://xhqym.baihongyu.com/

你可能感兴趣的文章
vlc相关学习资料汇总及零散技术总结
查看>>
Intellij IDEA 14使用maven3.3.3 问题
查看>>
Java 进制转换
查看>>
Code: UrlBuilder class in JavaScript
查看>>
[LintCode] Best Time to Buy and Sell Stock 买卖股票的最佳时间
查看>>
Android中文合集(5)(126+8篇)(chm格式)
查看>>
解读|百分点凭啥能推出「中国首个行业AI决策系统」
查看>>
Debian里编译内核
查看>>
WPF/E 我将怎么拥抱你?困惑与期待
查看>>
使用python玩跳一跳超详细使用教程
查看>>
js中push(),pop(),unshift(),shift()的用法
查看>>
WinForm界面开发之“OutLookBar”工具条
查看>>
iOS - OC NSDate 时间
查看>>
Netty重要概念介绍
查看>>
matcaffe的blob维度顺序
查看>>
之字形层次遍历二叉树
查看>>
一次查询性能提高40倍的经历
查看>>
ASP.NET MVC框架开发系列教程
查看>>
First Bad Version
查看>>
Sublimetext3将空格转换为Tab
查看>>