问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

【Java引用规范】虚引用以及引用队列

发布网友 发布时间:2024-10-03 02:01

我来回答

1个回答

热心网友 时间:2024-10-19 12:29

Java提供了四种引用类型:强引用、软引用、弱引用和虚引用。在这其中,虚引用是较为特殊的一种,它主要用于跟踪对象是否处于可以被垃圾回收的状态。

引用实例指的是软引用、弱引用、虚引用等,而引用对象则是由引用实例所指向的对象。

虚引用(Phantom Reference)的用途包括监测对象是否已经没有引用关系了(可被垃圾处理器回收),以便在对象即将被回收时执行一些资源回收动作。在JDK9中,sun工具包中有一个名为Cleaner的工具类,就是利用虚引用的特性来自动释放资源,以避免资源占用和浪费。

与其他引用类型的区别在于,软引用和弱引用都会在垃圾回收时进行垃圾回收,而虚引用则不同。垃圾回收器会将引用实例放入引用队列中,然后从引用队列中取出,断开虚引用和引用对象的关系后,才会被垃圾回收器回收。

创建和使用虚引用需要与引用队列搭配使用。虚引用有且仅有一个构造方法,需要与引用队列一起使用。当JVM监测到引用对象要被回收时,虚引用将会被添加到引用队列中。

引用队列是用来配合引用工作的,不同类型的引用在对象被垃圾回收前会有不同的行为。引用队列的特点是根据引用的不同,进入引用队列后引用对象的状态也不一致。

以下是一个结合引用队列监控对象生命周期的示例:假设有一个共享资源对象,在多个线程中同时使用。在使用完后,需要等待对象回收后释放资源。此时,虚引用可以监听到对象的垃圾回收动作,从而在准备回收时关闭相关资源。在上面的工具类中,有一个静态方法addAutoClose用于自动释放对象所占用的资源,主要逻辑是新开了一个线程,在线程中循环地从引用队列中获取虚引用,根据反射从虚引用中获取引用对象,从而调用引用对象的Close方法。

热心网友 时间:2024-10-19 12:30

Java提供了四种引用类型:强引用、软引用、弱引用和虚引用。在这其中,虚引用是较为特殊的一种,它主要用于跟踪对象是否处于可以被垃圾回收的状态。

引用实例指的是软引用、弱引用、虚引用等,而引用对象则是由引用实例所指向的对象。

虚引用(Phantom Reference)的用途包括监测对象是否已经没有引用关系了(可被垃圾处理器回收),以便在对象即将被回收时执行一些资源回收动作。在JDK9中,sun工具包中有一个名为Cleaner的工具类,就是利用虚引用的特性来自动释放资源,以避免资源占用和浪费。

与其他引用类型的区别在于,软引用和弱引用都会在垃圾回收时进行垃圾回收,而虚引用则不同。垃圾回收器会将引用实例放入引用队列中,然后从引用队列中取出,断开虚引用和引用对象的关系后,才会被垃圾回收器回收。

创建和使用虚引用需要与引用队列搭配使用。虚引用有且仅有一个构造方法,需要与引用队列一起使用。当JVM监测到引用对象要被回收时,虚引用将会被添加到引用队列中。

引用队列是用来配合引用工作的,不同类型的引用在对象被垃圾回收前会有不同的行为。引用队列的特点是根据引用的不同,进入引用队列后引用对象的状态也不一致。

以下是一个结合引用队列监控对象生命周期的示例:假设有一个共享资源对象,在多个线程中同时使用。在使用完后,需要等待对象回收后释放资源。此时,虚引用可以监听到对象的垃圾回收动作,从而在准备回收时关闭相关资源。在上面的工具类中,有一个静态方法addAutoClose用于自动释放对象所占用的资源,主要逻辑是新开了一个线程,在线程中循环地从引用队列中获取虚引用,根据反射从虚引用中获取引用对象,从而调用引用对象的Close方法。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 被面试官问到了java强引用,弱引用,软引用,怎么办? 强引用、软引用、弱引用、虚引用有什么区别?具体使用场景是什么?_百度... 龙珠z电光火石3.。插件设置 C类安全员考试好过吗? 把习题看的很熟练能过吗??谢谢 考安全员难吗? 请问安全员考试好过吗?我想考一个安全员,求大神,谢谢 ...显示HKSHIP.EXE停止工作。怎么回事?系统是WIN7的!! 热血无赖一打开就说HKASHIP.exe停止工作 热血无赖点击游戏后出现hdship.exe已停止工作,驱动最新,已白名单,依 ... 成人自考几月报名时间 自考什么时候报考 自学考试的报考时间有限制吗? 自考四月考试报名时间是几号 钢铁冬储什么意思 pmp证书落户上海有加分吗 搞怪画风可可爱爱情侣头像介绍_搞怪画风可可爱爱情侣头像是什么_百度知 ... 魔渊之刃2022最新密令-魔渊之刃最新礼包密令大全 魔渊之刃兑换码大全 最新公测礼包码 pmp有用吗知乎 ...的那个张一山拍了一部篮球电影,叫什么名字? 剩余电量是什么意思 hdi板 是什么意思? 重庆到璧山过路费好多? 在移居香港的申请过程中,请问需要注意什么? 申请注册一个中视频帐号,都需要什么?请问朋友们在那申请㇏中视频|帐 ... 眼霜和眼膜的区别是什么 眼霜和眼膜哪个好 咖映怎么在抖音直播使用的 烤箱 如何热饭菜 烤箱如何热饭菜 抖音短视频是个很无道德咖小程序,经常用闯入手机偷偷下载,每天都有几次... 颅内脂肪瘤最终会有什么结果 AIDS病发时有什么样的症状,? 脑部脂肪瘤有什么症状 感染aids后1到2个月内的症状 脑壳长包是什么原因需要动手术吗 艾滋病有什么特征吗? 地下城艾斯为什么会死 地下城与勇士专职问题 地下城与勇士2014年85级版本79级剑神值不值得买一套70级轻甲传承,请高... 地下城玩个女散打 求起个名字