BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Java 20年:道路与梦想

| 作者 InfoQ中文站 关注 26 他的粉丝 发布于 2015年5月26日 QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

Java 20年:道路与梦想

互联网与Java的诞生

1995年春天,那是我第一次亲眼见证并体验互联网的魅力,当时网景公司刚刚发布了Navigator浏览器。因为我有C语言和SQL的软件开发背景,所以我立刻问自己——如何进行互联网编程?应该使用哪种计算机语言?虽然这些问题一时还找不到答案,但有一点我非常清楚:我应当投身于互联网,到那里去学习互联网编程。

同样是在1995年,Sun Microsystems公司正式推出了Java 1.0.2版本。我马上就被其简洁的语法及内置的各类网络功能所吸引。当然,我也被其语言扩展性和跨平台能力深深折服。遥想当年,软件工程师们已经被跨平台这一老大难问题困扰了数十年之久,Java则利用虚拟机解决了这个难题。我希望能在DLL、DCOM以及难于使用但又将自己牢牢锁定的其它开发工作之外找到新的编程乐趣。紧接着,我就搬到了硅谷,开始在众多项目中使用Java语言。坦率地讲,Java当时还没能成为主流的开发语言。不过我认为它代表着一种新的趋势。

Sun公司加大了对Java项目的投入,为Java迎来了快速发展期。此后不久,Java 1.1(又一主要版本)发布,让Java的下载量很快就突破了100万。然后微软公司也决定顺应这股潮流,并由此发布了微软的Java语言---Visual J++,而这进一步提升了Java的人气。不过问题来了,微软加入自己的私有扩展的Java语言只能运行在Windows平台之上,而非Linux/Unix环境下,这导致了一场旷日持久的官司,最后微软败诉。不过微软方面并没有因此而放弃努力,他们转而着手开发.Net与Java分庭抗礼。

Java的下一个五年

2001年互联网泡沫破裂,Java语言的普及速度也开始放缓。在这段低迷时期,有一家公司开始成长并在电子商务领域取得了卓越的成绩,它就是eBay.com。我有幸能够在eBay公司领导技术平台的重新设计并根据Java平台对其进行全面调整。值得一提的是,面对C/C++平台的各种挑战,eBay仍然成为发展速度最快的电子商务网站。当时的问题在于,随着网站流量的不断增长,Java语言编写的应用程序能否扛的住?毕竟Java当时的性能很有问题。这一切在调优后能否得到改善?Java在开发效率方面是否有机会压倒其它编程语言?

经过三年的平台重组工作,Java全面地完成了所有的承诺,之前的问题也烟消云散了。到2005年,eBay已经成为全球规模最大的Java业务平台。那时,我们已经全面完成了由C/C++代码库到Java的迁移工作。在此过程中,我们接连经历了从Java 1.1到Java 1.3,再到Java 1.5的几次颇具难度的版本升级。JVM GC算法随着时间的推移而不断改善,Java在eBay的成功已然成为Java在第一个发展十年内出色能力与巨大潜力的最有力证明。

在开源领域的巨大成功

2006年,Sun公司开源了Java。在接下来的十年中,整个开源社区在利用Java构建开源项目方面获得了巨大的推进与发展助力。InfoQ、JUG、JCP等社区赞助方在Java平台与开发的促进方面起到了积极作用。原本的开发者社区逐步成为Java成果的重要载体,并从多个方面推动着Java的发展。开源社区中有越来越多高质量的Java框架出现,然后这些框架吸引了更多开发人员到Java平台中。社区培育出了一系列以Java为基础的工具与框架,使得整个生态丰富多彩。在由Java构建而成的项目当中,最为成功的当数Hadoop技术。Hadoop已经在Java开发者当中获得了极高人气与信赖。Hadoop的大数据概念当前正推动着众多行业寻找新的发展模式。时至今日,Java开源社区中的活跃开发者数量超过100万,全世界Java开发人员的总数更是突破了1000万。

发展的生命周期

如果在诞生后的第一个十年,Java走过了从婴儿到儿童的历程,那么如今的Java已经成为能够独挡一面的成年人,其语言功能已经全面成熟,开发人员拥有丰富而友好的开发环境。在使用Java与基于JVM的其它语言(如Groovy、Scala、Clojure、JRuby以及Jython等)时,开发人员的工作效率要远高于使用其它语言——特别是Java拥有大量开源框架及工具支持。Java在开发后台服务方面一直领先于其它语言,这主要是由于Java代码拥有良好的可维护性与可管理性。在生产环境中,以Java为基础的解决方案拥有运营可追溯性优势以及更出色的社区支持力度。在招聘工程技术人才时,企业往往能够从Java开发者群体中更好地找到应聘对象——得益于Java的庞大开发者群体。

Java的未来二十年

时至今日,Java的身影在设备、云计算以及数据技术领域可谓随处可见。Java对众多行业的发展产生了深远的影响,例如ERP、电子商务、移动、社区、金融、游戏乃至一些我们想不到的领域。虽然自Java面世以来又有众多其它语言陆续出现,但它们在普及程度上仍然无法与Java相提并论。Java对我的早期从业经历产生了巨大影响,在过去二十年中培养出整整一代开发人员,并将在未来继续为新生代程序员们指明发展方向。

尽管当下仍不断有新语言出现,但毫无疑问,未来二十年,Java仍将会是最受欢迎的编程语言。如大家所知,Java不仅仅只是一种主流编程语言,它同时也代表着一整个活跃的生态系统。Java开发者们将自己的聪明才智投入到这个平台上,而平台则回报给他们工作岗位与相应薪酬。要打理好现有的Java解决方案,我们需要Java。而为了顺利推动未来的业务发展,我们必将打造出更多Java应用程序。

随着移动互联网的井喷式发展,市场上出现了非常多的Android应用程序。而其发展依靠的正是Java的强大力量。随着科技的发展,越来越多的物联网设备将在未来几年中与我们见面。而Java也将继续在应用程序及服务的开发当中扮演重要角色,进而通过Android等技术方案实现网络设备互通互联。这种趋势目前刚刚起步并拥有可观的发展动力。随着整套开发平台的成熟与改进,Java必将在未来的技术创新领域找到属于自己的定位。

携程网CTO 叶亚明

携程网高级技术总监 吴其敏

目录

卷首语一:Java 20年,道路与梦想

卷首语二:Java 20岁生日快乐

Java 20年:转角遇到Go

Java 20年:历史与未来

Java 20年:JVM虚拟化技术的发展

借助开源工具高效完成Java应用的运行分析

双重检查锁定与延迟初始化

Gradle在大型Java项目上的应用

深入理解Java内存模型——锁

深入分析ConcurrentHashMap

HotSpot虚拟机对象探秘

Java字节码忍者禁术

DukeScript:随处运行Java的新尝试

亚马逊中国可下载本书的Kindle版本

百度阅读在线阅读

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT