AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

《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:213024
用户头像

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

关注

评论

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

做时间的朋友:荣耀X系列与英雄梦想

脑极体

Python之异步编程

Java全栈架构师

Python 数据库 程序员 面试 程序人生

FlyFish 2.0已发布,大屏开发应用更加灵活便捷

云智慧AIOps社区

JavaScript 前端 大前端 数据可视化

「Oracle」客户端 PL/SQL DEVELOPER 安装使用

恒生LIGHT云社区

oracle sql

数据有了,如何构建数据资产?

百度开发者中心

大数据

工具 | 常用 MySQL 内核 Debug 技巧

RadonDB

MySQL 数据库 RadonDB

【量化】实战恒有数获取指数定投的数据源

恒生LIGHT云社区

金融科技 量化投资 量化

CSS之选择器(九):valid和:invalid

Augus

CSS 12月日更

住院理赔难?区块链技术实现“住院即报案 出院即赔付”

CECBC

【云计算】私有云是什么?主要集中在哪些行业?与公有云有什么区别?

行云管家

云计算 公有云 私有云

技术教程 | 在线 KTV 实现过程(内附demo体验)

ZEGO即构

Java 音视频 在线KTV实现教程

30万人追更,年度重磅Go图书出版,百万流量博主带你学习Go底层原理

图灵教育

编程 Go 语言

ExoPlayer 重写 OpusReader思路

Changing Lin

12月日更

netty系列之:从零到壹,搭建一个SOCKS代理服务器

程序那些事

Java Netty 程序那些事 SOCKS 12月日更

恒源云(GPUSHARE)_Y-Tuning: 通过对标签表征进行微调的深度学习新范式【ACL 2022】

恒源云

人工智能 深度学习 算法

DotNetCore开发工具箱之图片处理小能手——SixLabors.ImageSharp

为自己带盐

dotnet 28天写作 12月日更 sixlabors

如何满足大数据集群服务功能真实需求?

星环科技

百万人都在求的网络安全学习路线,渗透漏洞防御总结(附图)

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞扫描

只需一步,轻松用Python实现线性规划

Java全栈架构师

Python 数据库 程序员 面试 线性规划

Android C++系列:Linux常用函数和工具

轻口味

28天写作 12月日更

国家质量基础设施NQI一站式服务平台系统开发建设方案

a13823115807

系统开发 质量基础设施“一站式” 平台建设

ONES 解码:为何数字化是“超级工程”

万事ONES

数字化 ONES

XTransfer技术部门福利一览:判断一家公司能不能待,就看这3点

XTransfer技术

福利 求职 招聘 跨境支付

MySQL 从入门到入魔 (02)

海拥(haiyong.site)

28天写作 12月日更

从场景中来,到用户中去 vivo用技术打造开放生态

ToB行业头条

还不会用 GitHub Actions ?看看这篇

冴羽

JavaScript GitHub 前端 Github Action Github Actions

小程序下一破局点?钉钉小程序卡片,应用与平台的深度集成

蚂蚁集团移动开发平台 mPaaS

前端 钉钉 移动开发 卡片技术

查询优化技术解读:以分布式搜索引擎 Transwarp Scope为例

星环科技

KubeCube 用户管理与身份认证

网易数帆

GitHub Kubernetes JWT Oauth kube

项目管理实战

王丰

项目管理

制造业现场管理的核心问题和痛点有哪些?如何解决?

优秀

制造业 现场管理

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