有容乃大

作者在不同项目组间充当救火队员角色的经历中,通过深入研究GC算法,领悟到有容乃大的重要性,并将其应用到团队管理和系统架构等方面。
从支援公司其它项目组回来之后,组织项目组组员开了次例会,安排下工作,也与众人分享了下这一个多月在外边的日子里面的一些经历、思考以及感悟。

这一个多月在外本来主要任务是支援A部门的全文检索系统的开发,但是在A部门忙完之后,要回归的那天,B部门觉得他们项目组的全文检索也到了急需重新设计实现的份上了,所以接下来的时间里又紧急地加入了B部门,来分析研究解决他们的问题。我曾和众人戏谑的说,我这份儿还是真是“救火队员”,哪里有火走哪里,现在公司的三个研发部门基本也就走了一遭。因为这事事情,我联想起另外一段,风风火火的“救火生涯”--- 那一年在华为,自己也是满天跑,流转在各个项目组间。看来不管是大公司还是小公司,项目里这个火啊,都是时常有可能燃起来的,都是时常需要救的。做了回“消防队员”,让整个公司研发人员都知道你,也功臣的姿态出现,这个对自己的职业发展也是有一定的好处的。自己曾经似乎就是因为这样的经历,才在华为上了那个季度的风云榜。不知道这次会有什么斩获呢?

当然,有所斩获固然好,但就算没有的话,也没有什么大不了的。因为这次在外对自己盲点中“GC”部分的研究成果和以及由此引发的感悟也是足以让人神清气爽的了。说到感悟,这个时候“有容乃大”这个关键字似乎就要呼之欲出了。这个要细细陈述下。

我们说这个世界上不可能有完美的人,每个人都有各自的优点和缺点,长处与短处的。既然这是客观存在的事实,那么要去构造一个和谐的体系,首先要有的应该就是“包容”,尊重差异,引导个体扬长避短,发挥个体优势部分的力量为体系做贡献。这也就是我理解的“有容乃大”。这种感觉由对JAVA HOTSPOT的GC的研究诱发,现在来看看GC怎样承载这种思想。

我们知道GC是JVM的一个核心模块,许多JDK的厂商都在为如何加速GC的性能在做着不懈的努力。就GC的策略和算法上,现在已经有了许多模型。就像这世界上没有完美的个体一样,同样在这么些算法里面,没有所谓的完美的模型。相反,每种特定的算法,都有各种比较适用的场景和不使用的场景,所以很难说孰优孰劣。就以hotspot中的gc中的copy算法来说,它性能比较好,但是耗费的内存比较高,标记压缩的算法耗费内存比较少,性能则较低。HOTSPOT的GC通过“分代模型”包容了这两种各有优劣长短的GC方式,在对象消亡比较快的新生代中使用COPY算法在对象老化比较慢的老年代使用了标记压缩算法,从而扬长避短,让整个体系达到一个平衡和谐的状态。这同样也是“有容乃大”。


说到这里我们做下延伸。几年前刚入行的时候,在各大论坛中,语言的优劣之争,那是极为普遍的,天天都有口水战。学习c和底层的人对学java的人嗤之以鼻,认为没有技术含量,学java的人则说c他们的开发效率低等等。就我个人来说,那个时候还在论坛上,发表申明说自己是个java的信仰者,会于各种攻击java的人奋战到底...其实,“有容乃大”啊,对算法是,对程序语言又何尝不可以如此。在程序员杂志的10月刊上,钱宏武先生写的那篇“体育直播架构(具体名称忘了)”里面讲到在系统架构中发挥各种语言的优势,扬长避短,构造出一个混合语言的高效强大的系统。这应该能让那些还没有从特定程序语言的限制中走出来的人一个很好的启示。


继续延伸的话,整个思想就变得更加宏大了。在团队管理里面,如果引导、包容、发挥团队个体的特质,扬长避短;在家庭里面...


吾将上下而求索。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值