转载

【技术小说连载】我在JVM公司的那些年(五)——主动出击

【技术小说连载】我在JVM公司的那些年(五)——主动出击

小说连载系列是我第一次尝试的新的技术讲解方式,希望通过小说的形式将技术细节讲解清楚。

第一篇中长篇连载小说《我在JVM公司的那些年》,主要讲解JVM内部的一些原理,希望大家能够喜欢,多多支持。

郑重声明:小说人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序。大佬除外。

欢迎大家转发文章,谢谢!

本节知识点预告:循环引用。

大家好,我叫小史,是一个非科班程序员 …… 哦,不,在这部小说中,我是一个 java 对象。

前情回顾:

【技术小说连载】我在JVM公司的那些年(一)——奇怪的面试

【技术小说连载】我在JVM公司的那些年(二)——残酷的制度

【技术小说连载】我在JVM公司的那些年(三)——恐怖的垃圾回收

【技术小说连载】我在JVM公司的那些年(四)——工位调整

我也赶紧搬到 Survior2 区,兢兢业业地工作起来。

由于我业务能力突出,很多同事都开始引用我,什么 PersonDAO 呀, PersonCache 呀,都给我引用计数加了一。

我现在完全不愁被垃圾回收。

但是一想到下个月快到了,又要给黑老大交保护费,心里有点不爽。

我决定找点线索,究竟谁在引用黑老大?

主动接近

我买了一包烟,主动过去给黑老大套近乎:“给大佬递烟。”

黑老大:“你小子还挺能来事儿,不错不错,以后保护费给你优惠点,哈哈哈。”

我表面上恭恭敬敬,实际上暗地里看了下黑老大的工牌,引用计数是 1 ,引用他的人是黑小弟。

我又看了下旁边黑小弟的工牌,引用计数是 1 ,引用他的人是黑老大。

这下我终于明白了:“闹了半天,原来这两人是 相互引用 ,公司根本没有其他人需要他们!”

【技术小说连载】我在JVM公司的那些年(五)——主动出击

垃圾回收

很快,公司又迎来了一次垃圾回收,像往常一样,垃圾回收器让大家准备好工牌放在桌上,挨个检查引用计数为零的人,全部押送出公司。

就在垃圾回收器要离开的时候,我站起来说了一声:“且慢!”

我声音不大,但是在这原本安静的公司里却显得格外刺耳。

底下也开始议论纷纷:“这人谁呀?竟然敢和垃圾回收器说话。”

“貌似是新来的,不知道葫芦里卖的什么药。”

垃圾回收器头都没回:“有事吗?”

我战战兢兢地说:“麻烦你再检查一下这边黑老大和黑小弟二位的工牌。”

黑老大一听竟然是给他找事,狠狠地瞪了我一眼,恨不得用眼神杀死我。

我却不慌不忙,根本没有正眼看他,只是用余光扫了一下。

垃圾回收器也不是好惹的,他严厉地问:“你是在质疑我的工作?”

我恭恭敬敬地回答:“并没有, 只是虽然这两人的引用计数都是1,但是他们是相互引用,公司里再也没有第三个人需要他们,理论上应该被垃圾回收掉吧 ?”

垃圾回收器:“哦?有这等事?”

垃圾回收器走到黑老大和黑小弟旁边再次查看了他们的工牌,确实是这样,他沉默了几秒。

我从余光里看到,黑老大和黑小弟已经瑟瑟发抖,都不敢正眼看垃圾回收器。

垃圾回收器:“你说的这种情况我会考虑一下,这次就先不回收他们了。”

没想到是这样的结局,我心里咯噔一下 ……

(未完待续……)

小史以身犯险,本想借助垃圾回收器除掉黑老大,没想到差了一步,他会被打击报复吗? 欲知后事如何,请听下回分解。

小结

引用计数的垃圾清理算法,没有办法清理循环引用,所以这种算法现在用得非常少了。

下节知识点预告:可达性分析算法

第一次尝试写技术小说,如果你喜欢这种形式,麻烦动动手指转发一下,你不经意间的动作,可能就会给大家带来一部伟大的技术小说。

【技术小说连载】我在JVM公司的那些年(五)——主动出击

原文  http://mp.weixin.qq.com/s?__biz=MzIzMTE1ODkyNQ==&mid=2649411749&idx=1&sn=1e4fcc08b05e50be8d162036b4013334
正文到此结束
Loading...