有收录的域名,有历史建站记录域名,搜狗pr域名,搜狗权重域名,搜狗权重域名,高收录域名,百度权重域名,外链反链域名,景德镇网站建设
热门搜索: 网站 SEO 网站建设 建设
欢迎您, 高收录域名 的忠实网友, , 希望你在本站能找到对您有用的东西。
你现在的位置:网站首页 - 建站教程 - 垃圾回收器是如何工作的

垃圾回收器是如何工作的

作者 : zhushican | 分类 : 建站教程 | 超过 人围观 | 已有 0 人留下了看法

要理解垃圾回收器是如何工作的,你就得先了解各种设计方案的原理。Reference counting是一种简单的,但却比较慢的方案。它的意思是,每个对象都要包含一个reference计数器,每次有reference连接这个对象的时候,这个计数器就会做递增。每次有reference离开作用域,或者是设成null的时候这个计数器就会做递减。这样,管理reference计数器就成了程序运行期间的一项不大,但却无法摆脱的负担了。垃圾回收器扫描一遍所有的对象,找到reference计数器为零的对象,释放其内存。但是这种方案有个缺点,那就是如果一堆垃圾对象相互引用并且连成一个环的话,那它们的reference计数器就不会是零了。要让垃圾回收器找出这种自我引用的对象,需要花更多的力气。Reference计数通常被用于解释垃圾回收的技术,但是似乎没有哪种JVM采纳了这种设计。

在一些高效的设计方案里,垃圾回收不是基于reference计数的。相反,其设计思想是,所有没死的对象都应该能最终找到它在栈,或者在静态存储区里的reference。这个关系链可以跨好几层对象。这样,如果从栈和静态存储区开始,查遍所有的reference,你能找出全部的还活着的对象。找到一个reference之后,你还得跟到它所指对象里去,然后跟着对象里面的reference找出所指的对象,以此类推,直到你访遍整个网。你所路过的每个对象应该都是活着的。注意,现在就没有自我引用的对象组的问题了——它们干脆就找不着了,因此自动就成了垃圾了。

« 上一篇下一篇 »

评论列表:

关于我
关于我

长期出售各种各样的域名
重点出售下面的类型:
1、5~15年的老域名。
2、各种类型的备案域名。
3、历史建站记录的老域名、权重域名。

在线QQ 新浪微博 我的邮箱
日历
控制面板
最近发表
网站分类
网站收藏
图标汇集
Tags列表
友情链接