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

栏目: Java · 发布时间: 6年前

内容简介:小说连载系列是我第一次尝试的新的技术讲解方式,希望通过小说的形式将技术细节讲解清楚。第一篇中长篇连载小说《我在JVM公司的那些年》,主要讲解JVM内部的一些原理,希望大家能够喜欢,多多支持。

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

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

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

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

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

本节知识点预告:标记——复制算法。

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

前情回顾:

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

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

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

还没从刚刚的垃圾回收缓过神来,大伙儿都忙着抢占工位了,只见 Survior1区 的老油条们赶紧抢占了 Survior2区 的好的工位。

师兄抢了一个远离走道的位置,这样不会被人打扰。

我过去找到师兄问到:“ Survior2区 不是不坐人吗?怎么现在大家都跑到 Survior2 来了?”

师兄:“这也是公司的制度,进行垃圾回收之后, eden区和Survior1区留下的员工都会被转移到Survior2区 ,并且工位从前往后排列,这叫 标记——复制算法 。”

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

我:“为啥要这样呢?这样工位移来移去的不是很麻烦吗?”

师兄:“这你就有所不知了,这是公司的一位高管,吕老师发明的制度。”

吕老师的故事

师兄:“吕老师刚进公司的时候,还是和你差不多大,当时我们在进行垃圾回收的时候,用的还是 标记——清除算法 。”

小史:“这是什么算法?”

师兄:“这种算法很简单,也没有分这么多区,就是看看哪些人的引用计数是 0 ,然后 直接把他们清理出去,工位空出 。”

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

小史:“对呀,这样不是挺好的吗?”

师兄:“但是 一个个清理工位也是不容易的事情 ,你也知道,我们这边裁员比例高得厉害,刚刚你也看见了,裁掉了 98% 的人, 意味着我们要一个个地清理98%的工位,这个工作量还是挺大的 。”

小史:“哦,我明白了,与其清理 98% 的工位,不如让剩下的2 % 的人自己换个位置。”

师兄:“这只是其一,其实一开始公司也没有改变制度,直到发生了一件事情。”

师兄:“那年我们开拓新业务,一下子招进来 100 多人,但是却发现 没有这么多连续的工位 。频繁的垃圾回收导致了大量的 工位碎片 。”

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

师兄:“这下这个团队只能分开坐,很快他们就开始抗议了,这时候吕老师把他的设计讲了出来。”

吕老师:“我建议 把新生代区分为三个区,eden区,Survior1区和Survior2区 。”

吕老师:“一开始的时候, 新来的同事都在eden区 。”

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

吕老师:“ 当进行第一次垃圾回收的时候,eden区上留下来的同事就移动到Survior1区,然后把eden整体清空 。这样,新来的同事在 eden 区就有连续工位。”

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

吕老师:“ 当第二次垃圾回收的时候,eden区和Survior1区留下来的同事就移动到Survior2区,然后把eden区和Survior1区清空 。”

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

吕老师:“ 当第三次垃圾回收的时候,eden区和Survior2区留下来的同事就移动到Survior1区,然后把eden区和Survior2区清空 。以此类推。”

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

这时候马上就有其他同事提出质疑:“也就是说 Survior1区Survior2区 是交替使用对吧?”

吕老师:“是的。”

其他同事:“但是你这样移来移去有什么意义呢?”

吕老师:“首先不需要一个一个去清理 eden 区或者 Survior 区的工位,要知道, 把一个区整体直接清空比一个一个工位清理要轻松很多 。其次就是 解决了工位碎片的问题 。”

公司高层觉得这个方案不错,决定试运行一段时间。

结果果然提高了效率,也没有出现一个团队分配不到连续工位的情况了。

后来公司就采用吕老师的方案,吕老师也很快晋升到了公司高层,坐到了 老年代 工作区。

听了吕老师的故事,小史竟有一丝敬仰之情,自己也想做一个改变公司制度的人。

(未完待续……)

通过这第一次垃圾回收,小史对公司的制度也有了更加全面的了解,自己在公司将如何发展?欲知后事如何,请听下回分解。

小结

目前的垃圾回收器,在新生代区基本都是使用标记——复制算法,这样能够提高清理效率,有效避免内存碎片。

下节知识点预告:循环引用

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

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


以上所述就是小编给大家介绍的《【技术小说连载】我在JVM公司的那些年(四)——工位调整》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Build Your Own Web Site the Right Way Using HTML & CSS

Build Your Own Web Site the Right Way Using HTML & CSS

Ian Lloyd / SitePoint / 2006-05-02 / USD 29.95

Build Your Own Website The Right Way Using HTML & CSS teaches web development from scratch, without assuming any previous knowledge of HTML, CSS or web development techniques. This book introduces you......一起来看看 《Build Your Own Web Site the Right Way Using HTML & CSS》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换