《Java 20 年:道路与梦想》迷你书发布

  • 郭蕾

2015 年 5 月 26 日

话题:JavaJVMC#语言 & 开发架构

互联网与 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 的新尝试


点击此链接下载

JavaJVMC#语言 & 开发架构