最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

  • 2015-05-26
  • 本文字数:2531 字

    阅读完需:约 8 分钟

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


点击此链接下载

2015-05-26 06:212651
用户头像

发布了 219 篇内容, 共 134.9 次阅读, 收获喜欢 190 次。

关注

评论

发布
暂无评论
发现更多内容

百度评论中台的设计与探索

百度Geek说

资金穿透分析

清林情报分析师

数据分析 分析软件 分析工具 资金穿透 资金分析

详解MOVE PROTOCOL的测试版,让健康运动如影随形

西柚子

数字先锋 | 牵手中资医疗医药,开创医疗医药应急保障服务新格局

天翼云开发者社区

高考后,学会这种能力,让你收益终生!

图灵教育

数学 高考 数学建模

BI的落寞,低代码会重演一遍吗?

ToB行业头条

从小白到架构师原来是这样修炼出来的

C++后台开发

架构师 C++后台开发 软件架构师 服务器架构师 C++架构师

K8S集群无法通过Service Name访问的故障

领创集团Advance Intelligence Group

不愧是美团内部“接口自动化测试学习笔记”这细节讲解,神了

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

如何最简单、通俗地理解Python的pandas库?

Jackpop

什么是面向对象编程?终于懂了

Jackpop

使用APICloud AVM多端框架开发消防检查助手App项目实践分享

YonBuilder低代码开发平台

APP开发 APICloud 多端开发 应用开发 avm.js

如何使用物联网低代码平台进行系统管理?

AIRIOT

物联网 低代码开发 低代码开发平台

【ELT.ZIP】OpenHarmony啃论文俱乐部—gpu上高效无损压缩浮点数

ELT.ZIP

鸿蒙 压缩算法 Openharmony啃论文俱乐部 ndzip

TASKCTL关于 "Fastjson反序列化远程代码执行漏洞” 的风险通告

TASKCTL

DevOps ETL算法 大数据平台 反序列化 TASKCTL

私有云和公有云的主要区别有几点?两者哪个更安全?

行云管家

云计算 公有云 私有云 企业上云 云管平台

哈希彩竞猜娱乐游戏俱乐部系统开发详情

开发微hkkf5566

如何从零开始开发一款chrome扩展?

Jackpop

什么是数据流向分析?

清林情报分析师

数据分析 流向分析 数据流向 资金流向 可视化分析

外呼机器人7大难题,看网易云商如何攻破?

网易智企

AI 机器人

吉林长春等保测评公司有几家?详细地址在哪里?

行云管家

网络安全 等级保护 等保测评 等保测评机构 吉林

小程序开发真的可以取代APP软件开发设计吗?

开源直播系统源码

软件开发 小程序开发

企业如何建设知识管理系统

小炮

从感知智能跨越到认知智能,NLP领域要做哪些创新?

澜舟孟子开源社区

人工智能 自然语言处理 nlp 大模型 认知智能

LoadBalance

Damon

6月月更

漫谈软件架构

韩陆

云原生 领域驱动设计 可观测性 软件架构 事件驱动架构

常见线程数量的估算方式

snlfsnef

系统设计 线程 多CPU

单线程性能炸裂 英特尔以Sapphire Rapids强势角逐AI计算市场

科技之家

可视化技术在 Nebula Graph 中的应用

NebulaGraph

可视化 图数据库 知识图谱

web前端培训Vue面试题分享

@零度

Vue 前端开发

云原生中间件 — Kafka Operator 总览篇

Daocloud 道客

云原生 开源项目 消息中间件 上云 Strimzi Kafka Operator

《Java 20年:道路与梦想》迷你书发布_Java_小盖_InfoQ精选文章