与Java的不解之缘
看到这个专题名字的第一眼,真是感慨万千:Java已经有20年历史了啊,我竟然也用了这语言8年了,真是转眼一瞬。
王晶昱(花名:沈询)
回想起8年前的我,应该是正在大学宿舍里努力地从网上搜索C语言的各种教程,在“值传递和指针传递的区别是什么?”“如何避免引用计数循环引用?”等问题中东突西撞不得要领吧。然后在某天,我偶然间看到了一门据称比C++简单的Java语言,恰巧还碰上一个好老师——莫倩老师,自然而然地激发起我去了解和学习Java的兴趣。现在还记得当时在学习《ThinkinJava》时,我还不是特别理解BruceEckel介绍Java与C++的差别时提到的一句话:“Java是一种生产力语言”。当时我看着这句话,心里一直在想:语言嘛,应该大同小异,能有什么生产力提升?一个解释型语言怎么可能超越编译语言呢?
转眼,我使用Java已有8个年头了,现在想想,Java真的带给了我很多:它尽可能地避免我写出错误的代码。它不需要我去计算指针偏移量,也不需要我去关心垃圾回收问题,连Collection类都有DougLea这样的大神做好了封装。这些语言内建机制和类库极大地减轻了我的头脑负担,让我能够更加专注地完成业务逻辑。而最让我惊喜的是,Java一直不懈地追求JVM虚拟机的持续优化,各种眼花缭乱的锁优化、动态字节码编译调优、GC新算法等JVM优化层出不穷。
在最近的几年,我也可喜地看到,在Oracle的带领下,Java语言的演进变得非常迅速。当我还在熟悉Java7的forkJoin框架的时候,支持Lambda的Java8已正式发布了。
现在,我也想从我个人角度,给Java点个赞。确实,对我而言,这是一门生产力语言,而Java也成功地帮助阿里巴巴、淘宝走过了高速发展时期,并造就了我们阿里的一支明星团队:阿里巴巴-共享业务-中间件和稳定性平台。
说起这个团队,其实它在内部的名字一般称为Java中间件。你看把Java放在了团队的名字里,这就是真爱啊!从2007年开始,我们就逐渐发现,外部企业级中间件并不是非常适合我们互联网业务的实际发展需要。面对着每年翻番的用户量和用户请求,我们不得不开始进行分布式应用体系的探索。当时可真是没什么能够参照的,全都得靠自己去探索,经过了三年多不断摸索,我们彻底地将系统进行了服务化、分布式改造。