对象应该被回收,但引用计数却为零
java编程思想中有那么一段关于垃圾回收的问题:虽然管理引用记数的开销不大,但这项开销在整个程序生命周期中将持续发生。垃圾回收器会在含有全部对象的列表上遍历,当发现某个对...
java编程思想中有那么一段关于垃圾回收的问题:
虽然管理引用记数的开销不大,但这项开销在整个程序生命周期中将持续发生。垃圾回收器会在含有全部对象的列表上遍历,当发现某个对象的引用记数为0时,就释放其占用的空间(但是,引用记数模式经常会在记数值变为0时立即释放对象)。这种方法有个缺陷,如果对象之间存在循环引用,可能会出现“对象应该被回收,但引用计数却不为零”的情况。对垃圾回收器而言,定位这样的交互自引用的对象组所需的工作量极大。引用记数常用来说明垃圾收集的工作方式,但似乎从未被应用于任何一种Java虚拟机实现中。
小弟不理解的是,循环引用怎么就会出现“对象应该被回收,但引用计数却为零”的情况呢? 展开
虽然管理引用记数的开销不大,但这项开销在整个程序生命周期中将持续发生。垃圾回收器会在含有全部对象的列表上遍历,当发现某个对象的引用记数为0时,就释放其占用的空间(但是,引用记数模式经常会在记数值变为0时立即释放对象)。这种方法有个缺陷,如果对象之间存在循环引用,可能会出现“对象应该被回收,但引用计数却不为零”的情况。对垃圾回收器而言,定位这样的交互自引用的对象组所需的工作量极大。引用记数常用来说明垃圾收集的工作方式,但似乎从未被应用于任何一种Java虚拟机实现中。
小弟不理解的是,循环引用怎么就会出现“对象应该被回收,但引用计数却为零”的情况呢? 展开
1个回答
天仁密销
2023-07-12 广告
2023-07-12 广告
在数据销毁方面,有一些国内企业值得关注:* **八方园通:自1996年在香港创立以来,八方园通一直专注于信息安全销毁服务和资产回收。其业务拓展至深圳,于2008年成立了深圳八方园通信息技术服务有限公司,随后在上海成立了八方园通(上海)数据服...
点击进入详情页
本回答由天仁密销提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询