【技术小说连载】我在JVM公司的那些年(八)——死里逃生

640?wx_fmt=jpeg

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

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

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

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


本节知识点预告:finalize方法。

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

前情回顾:

我就像抓住了救命稻草,赶紧问吕老师:“什么方法?”

吕老师:“这是一个非常古老的方法了,知道这个方法的人不多,而且现在公司也不推荐大家这样做。但是你现在情况特殊,也许可以一试。”

我:“哎呀我的吕老师,你就别卖关子了,赶紧告诉我吧。”

吕老师凑到我耳朵旁:“只需如此如此……

我疑惑地看着他:“这能行吗?”

吕老师稳如狗:“放心吧,没问题的。”

听了吕老师的建议,我赶紧秘密找到师兄,把吕老师跟我说的方法一五一十告诉了师兄,并请他帮忙。

师兄也很惊讶:“还有这种方法?这能行吗?”

我表面也稳如狗:“放心吧,没问题!”

但是实际上我内心慌得一批。

又是垃圾回收

这一刻终于到来,公司停止了所有业务,垃圾回收器还是像往常一样无情。

没有人引用我了,我自然没有在可达性分析的引用链中,我要被回收了,但是就在这时,垃圾回收器开口说话了。

垃圾回收器:这个对象,小史,他覆盖了finalize方法,先别忙着把他赶出公司,先押送地牢。其他人都赶出公司吧!

一切都在计划中,只要覆盖finalize方法,并且这个方法从来没被执行过,垃圾回收器就不会马上把你赶出公司,而是会把你放到地牢。

我跟着警卫来到了地牢,说是地牢,其实我一看就知道,这是一个队列,里面的人都排队等着一个人。

过一会儿,这个人过来了,他是一个低优先级线程,他的工作就是执行我们这个队列中每个人的finalize方法。

我和师兄早就商量好了,在finalize方法中,我让师兄重新引用了我,这下我又有引用了,我知道已经大功告成,只需静静地等待出去的时机就行。

另一边,黑老大一看我已经没有在工位上,以为已经把我弄出了公司,满意地去找下家公司去了。只是他没想到,我并没有被赶出公司,而是在地牢里伺机而动。

又一次垃圾回收到来了,垃圾回收器再次通过可达性分析算法检查我们的引用,这次我已经在引用链中了,于是,我又回到了我自己的工位。

(未完待续……)


到此,小史终于彻底搞定了黑老大,他在JVM公司中还会遇到什么问题?欲知后事如何,请听下回分解。

小结

现在我们不推荐在finalize方法中去释放资源,因为它什么时候会被调用是不确定的。

下节知识点预告:老年代


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

640?wx_fmt=jpeg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值