[关闭]
@xishuixixia 2015-05-26T06:55:00.000000Z 字数 1284 阅读 2003

Java 20岁生日快乐

Java


2003年,我开始使用Java编程,一直到今天。12年的陪伴造就了深厚的感情,今年Java 20岁,衷心的对Java说一句:Java,20岁生日快乐。也趁此机会,谈谈对陪伴了自己12年的Java语言的感受,作为生日礼物献给Java。

2002年大学毕业,成为了一名VB程序员,但当时公司的另外一款核心的产品是用Java编写的,在业余时间自己就抽空自学习了Java。2003年,机缘巧合我转为参与那款核心产品的开发,于是变成了一个Java程序员,从此便和Java结缘。

2003年到2007年,主要是使用Java来开发政府类型的软件,相对而言更多的是注重在功能的丰富程度上,在这个阶段主要感受到的是Java社区的强大以及Java工具/框架的丰富,这两点都促使了开发效率的提升。

2007年加入阿里巴巴后,规模的原因使得自己更加关注Java在高并发、性能和稳定性方面的表现。

早在2004年10月,Java的版本号历史性的从1.4跳跃为了5.0,为的是说明这个版本带来了巨大的进步,而在规模领域来看,这个版本带来的最大变化是juc(java.util.concurrent)包的引入,这个包一举奠定了Java在高并发场景中的不俗表现,juc包各种经典的无锁、锁粒度精妙控制的实现成为了高并发场景Java程序员,甚至是其他语言的程序员必学的技巧,凭借此Doug Lea也成为了Java发展史上重要的人物之一。

高性能的网络通信是工作中另外一个重要的部分,Java在BIO、NIO上的不断前进,以及基于NIO的Mina、Netty、Grizzly之争使得Java在实现网络通信的性能上已经做的非常不错,阿里巴巴在2008年开始由一个集中式系统演变为一个大型的分布式系统,Java在通信上的不俗性能是保障成功完成演变的关键因素之一。

GC是对于高性能Java应用而言一个重要的影响因素,Java在GC上也不断的进行优化和演进,ParallelOldGC、G1GC的推出对Java在GC上的影响都带来了更好的控制能力,在大内存领域G1 GC的表现也越来越好,这在这个内存变得越来越大的时代显得尤为重要。

在高性能领域方面,Java持续不断的通过JVM来优化程序的执行性能,这对使用这门语言的程序员而言是巨大的帮助,一个同样的Java应用,运行在JDK 7下会比运行在JDK 5的情况下快上接近两倍。

从2008年到2010年,我们的应用因为JVM本身bug crash的现象越来越少,运转的状况揭示了JVM在稳定性上不断的改进。

综合来看,Java在高并发、性能、稳定性方面不断改善的表现,使得阿里巴巴这个流量不断增长的网站保持了不错的性价比,社区的成熟、工具/框架的丰富度则为提升我们的开发效率起到了很大的帮助。

展望未来,相信Java仍将陪伴自己很多年,在未来的日子里,阿里巴巴将从一个Java语言的使用者演变为进步的推动者,帮助Java在跟随硬件、软件体系的进步上做的更好,在高并发、高性能领域有长足的进步,使得Java应用的运行成本能有明显的降低。

毕玄
阿里巴巴
2015.05

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注