【小说连载】我在JVM公司的那些年(九)——潜规则_jvm

 

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

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

 

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

 


 

本节知识点预告:进入老年代的条件。

 

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

 

 

 

终于摆脱了黑老大,我在公司过了一段安安静静的日子。

 

随着一次次垃圾回收,我已经有12的工龄,而师兄,已经达到15的工龄要晋升了,他成功去了老年代。

 

原来工龄达到15就可以晋升进入老年代。

 

我又兢兢业业地工作了一段时间,经历了几次垃圾回收,我也晋升到了老年代。

 

第一次来到老年代,和我想象的还不太一样,这里很大,和新生代一样大,但是却没有分成eden区、survior1区和survior2区。

 

这里的人明显比新生代的人要稳重很多,感觉个个都很厉害的样子。毕竟大家都是经过了至少15次垃圾回收的洗礼,都是公司的精英啊。

 

但是很快,现实就过来打脸了。

 

潜规则

 

今天公司空降了一位高管,自称是竞争对手公司的架构师,还带领了一个小团队来到我司入职。

 

HR小姐姐:“这是一个大对象,别往新生代领了,直接进入老年代。”

 

就这样,空降架构师直接进入了老年代。

 

我不服气,找到HR小姐姐问:“为什么他可以不去新生代直接进入老年代?”

 

HR小姐姐:“你看他带了这么多人,是一个大对象,公司有规定,大对象可以直接进入老年代。”

 

好吧,我竟无言以对。

 

又有一次,公司进行扩张,一下子招了很多人,并且质量都不错,都在新生代的eden区上班。

 

到了垃圾回收的时候,由于大家都有被引用,所以这次的回收率很小,结果这些人放在survior1区放不下。

 

HR小姐姐又出面了:“按照工龄由高到低排个序,如果某个工龄层中的对象大小加起来超过了survior1区的大小,他们和比他们工龄大的员工都去老年代。”

 

我一看,第一个不服:“这些人工龄还没达到晋升条件,怎么能去老年代呢?”

 

HR小姐姐:“这是公司的绿色通道,这一届优秀的人太多,可以通过绿色通道直接晋升进入老年代。”

 

没想到公司里关于晋升的潜规则这么多,感觉对于我们这些兢兢业业通过努力达到15工龄的人有点不太公平,但是也没有办法,毕竟都是公司的规章制度。

 

谈心

 

虽然已经接受了现实,但是我心里还是有点不太舒服,我找到师兄讨论此事。

 

师兄却哈哈大笑:“你有没有思考过制度背后的原因呢?”

 

我:“额,这个,我到没有想过,公司制度不是只要死记硬背就行了么?”

 

师兄:“非也非也,如果你不理解制度背后的原理,死记硬背是记不住的。”我:“那我想想看啊,对于大对象来说,如果让它进入eden区,会占用大量工位,导致其他员工工位不足?”师兄:“不仅仅是这样,你想,大对象如果第一轮垃圾回收没有被淘汰,它将进入survivor1区……”我:“哦,我知道了,survivor1区很小,不一定容得下这个大对象吧?”师兄:“对咯。所以为了避免麻烦,公司才规定,让大对象直接进入老年代。”我:“那绿色通道又是怎么回事?”师兄:“那就更简单了,因为那一届优秀员工较多,让他们都进入survior1区同样会存在放不下的问题。所以公司规定,让他们直接进入老年代了。而且如果他们能进,那么比他们工龄大的当然也能进了。”我:“……好吧,虽然不情愿,但是也只能接受了。”

(未完待续……)

 


 

到此,小史终于接受了公司关于晋升老年代的潜规则,但是到了老年代之后,会有什么新的问题等着他呢?欲知后事如何,请听下回分解。

 

小结

什么样的对象可以进入老年代?大对象、长期存活对象、一大批同龄对象。

 

下节知识点预告:老年代垃圾回收

 


 

第一次尝试写技术小说

【小说连载】我在JVM公司的那些年(九)——潜规则_jvm_02