本文永久链接 – https://tonybai.com/2026/07/20/the-java-story-30-years-documentary
【导读】 大家好,我是Tony Bai。今日,YouTube上线了一部时长超过一小时的官方纪录片《The Java Story》,James Gosling、Brian Goetz、Mark Reinhold等几乎所有关键人物悉数出镜,第一次系统性地讲述了Java从一次失败的掌上设备项目,到今天支撑起全球金融系统、Android生态和无数万亿级公司的完整历程。这不是一篇产品通稿,而是一段真实的、充满至暗时刻的创业史。无论你是不是Java开发者,这个故事都值得花时间看一遍。
【文章要点】
- Java最初是Sun为掌上设备(Star 7)做的项目,代号Oak,因抢一个有线电视招标失败而濒临解散,团队一度被全员裁员。
- 真正的转折是Mosaic浏览器的出现:团队用Oak重写浏览器做出HotJava,1995年与网景达成合作发布,一夜之间引爆全网关注。
- Java语法刻意设计得像C/C++,是为了掩护垃圾回收、动态类加载等真正激进的运行时特性——这是一次有意为之的"伪装策略"。
- 服务端并非最初规划,而是靠Servlet意外站稳脚跟;随后的J2EE规范被参与者形容为"灾难",反而催生了Spring和Hibernate这两个开源项目来自救。
- Java与微软爆发过长达数年的诉讼战:微软私自破坏兼容性、内部邮件写着"干翻Sun",最终微软赔付近20亿美元。
- OpenJDK开源被多位亲历者认为是"救了Java一命"的决定;开源过程本身也充满内部争议和拉锯。
- 2004年至2014年是Java公认的停滞十年,一度被批评者认为"已死",同期C#/.NET加速反超。
- 出人意料的是,Oracle收购Sun并未如外界担心的那样扼杀Java,反而带来了更稳定的资源和决策机制。
- Java 8引入Lambda表达式是一场被称为"最后机会"的豪赌,此后Java改为每六个月一个发布节奏,彻底改变了迭代方式。
- 面向未来,虚拟线程(Loom)、Valhalla、Panama等项目正在为高并发与AI推理场景做准备。
- Java真正的护城河不是语法,而是背后超过340个用户组、上千万开发者组成的开源社区。

一开始,没人想造一门新语言
1990年到1991年之间,Sun公司内部有一个不起眼的小项目,目标不是"发明一门语言",而是解决一个具体的麻烦:当时的编程语言,在应对电视机、烤箱这类嵌入式设备时全都不好用。
项目最初的核心成员只有四个人:Mike Sheridan、Ed Frank、Patrick Naughton,以及James Gosling。
这门语言最早的名字叫Oak,据说是因为Gosling办公室窗外正好有一棵橡树。
他一个人设计了语言、设计了运行时、完成了最初的全部实现。团队还做出了一台样机——Star 7,一个手持式的交互终端,用来向外界演示这套技术。

1992年底,时代华纳发布了一份交互式有线电视的招标书,Gosling团队投入极大热情去争取,结果中标者既不是他们,也不是任何一家参与过投标的公司。
项目彻底流产,随之而来的是一段真正的至暗时期:公司里大约五十人的团队,三分之一直接离职,三分之一被重新分配回Sun其他部门,剩下十几个人不上不下。最终所有人都被裁员,包括Gosling自己。
是Bill Joy把这件事拦了下来,把一部分被裁的人硬生生"抢"了回来。团队开始重新思考方向:他们意识到,自己折腾了将近十年的这套技术,恰好可以用在一个刚刚冒头的东西上——互联网。
一次意外,把整个赌注押对了方向
转折点出现在浏览器Mosaic发布之后。团队下载下来研究,突然意识到:完全可以用Oak重写一个浏览器,把交互性带到当时还只是静态文本链接的网页上。
于是"Hot Java"浏览器诞生了——网页上第一次出现了会自己转动的立方体、会做体操的Duke吉祥物,这在当时是彻底的降维打击。
今天点一个按钮加载一段动画不算什么,但在1995年,“这不是一张图,这是一段正在你电脑上运行的程序”,是能让人当场愣住的魔法。
真正让Java走出实验室的,是1995年3月23日与网景(Netscape)的合作发布。
当时网景占据了浏览器市场四分之三的份额,如果没有这次合作,Hot Java这套自研浏览器几乎不可能有足够的用户基础。
合作消息见报当天,标题登上了报纸的头版。之后的连锁反应是Gosling团队完全没有预料到的:媒体疯狂报道,电话被打爆,公司内网被流量瞬间打垮,工程师们甚至偷偷架设了一条未经批准的T3专线来扛流量——用他们自己的话说,“这在当时是彻头彻尾的违规操作,一旦被发现所有人都得走人”。
Gosling后来把1995年形容为一场"完美的成功型灾难":产品红得远超所有人的预期,但团队规模、基础设施完全没跟上。

一门"披着C外套"的语言
纪录片里一个很有意思的细节,是关于Java的语言设计哲学。
表面上看,Java 1995年的特性列表相当保守:语法长得像C和C++,写法工整、克制、甚至有点"无聊"。
但真正激进的东西,全都被藏在了运行时里:垃圾回收、动态编译、反射、动态类加载——这些在当时属于学术圈才玩得转的"危险技术"。
设计者自己后来承认,这是一次刻意的"伪装":把几十年学术研究成果,偷偷塞进工业界能接受的外壳里。
如果直接把这些特性放进一门语法像Lisp或Haskell的语言,大多数企业开发者根本不会碰。
而把它包装成"看起来像C++,但没那么难用",工程师们几乎是无痛切换。
有人把这个策略形容为"绝地武士的读心术":让人以为自己拿到的是熟悉的东西,实际上拿到的是一整套全新的运行时哲学。
这也呼应了另一句被反复提起的定位:Java是写给"蓝领程序员"的语言——不是学术圈的炫技作品,而是给那些"只想把活干完"的人用的工具。
服务端才是真正的主战场,而这完全是意外
一个容易被忽略的事实是:Java最初的目标是嵌入式设备和机顶盒,服务端应用完全不在最初的规划里。
真正让Java站稳脚跟的,是Servlet规范——它提供了一种把网页请求和后端数据库、企业系统连接起来的标准方式,成了客户端和企业系统之间"缺失的那座桥"。
但通往企业级市场的路并不平坦。
为了标准化企业应用开发,Sun联合IBM、Oracle等公司搞出了J2EE规范,结果是一本厚得像字典的规范文档,混杂着Java和XML,被亲历者形容为"一场灾难":大量项目失败,Java作为服务端技术的前景一度岌岌可危。
真正把局面扭转过来的,不是Sun自己,而是社区里两个"叛逆者":Rod Johnson写了一本书,本意是介绍J2EE的"正统信仰",结果写着写着自己先"叛教"了,认为整套规范体系"根本不实用"。

这本书催生了Spring框架的第一个版本。差不多同一时期,Hibernate作为一个更好用的持久化方案出现,直接源于开发者对Entity Bean的极度不满。参与者直言:如果没有Spring的出现,J2EE很可能会同时毁掉自己和整个Java生态。
与微软的战争,和一封"认怂邮件"
Java崛起的年代,正是微软如日中天、几乎让整个行业感到恐惧的时期。
Sun选择把Java授权给微软,希望借此让Java预装进每一台Windows PC。
这笔交易很快变得危险:内部流出的一封比尔·盖茨写给Nathan Myhrvold的邮件里,盖茨承认自己"因为Java/Java Beans的势头而彻夜难眠",担心这套运行时会让人轻易做出能与Windows竞争的操作系统。
不久之后,Sun发现微软在Windows里发布的Java实现故意缺失部分标准API、又擅自添加了自己的私有API——目的很直白:诱导开发者写出只能在Windows上跑的"Java代码",从而把"一次编写、到处运行"的核心承诺变成一句空话。
诉讼随之而来,取证过程中团队甚至找到了一封被称为"冒烟枪"的内部邮件,直白地写着"干翻Sun"。
官司持续了数年,最终微软向Sun支付了近20亿美元和解金。参与者后来的评价是:这场仗打得很痛苦,但也确实阻止了微软把Java整个技术路线夺走的企图。
开源,是一场自己人打自己人的拉锯战
Java走向开源不是一蹴而就的。早期Sun的态度是"开放但不自由":源码可以看,但不能改、不能拿去做产品。
真正把开源理念推进企业级Java生态的,是Tomcat项目——工程师把最初一个起名很糟糕的"Java Servlet Web开发工具包",内部代号Tomcat,一路争取到进入Apache基金会,作为参考实现开源出去。
这个过程内部反复拉锯:管理层担心开源会导致平台分裂、担心冲击商业模式,这个论证一遍遍重复,最终才落地。
真正的分水岭是OpenJDK的开源。多位参与者直言,如果Sun当年没有把JDK本身开源,Java很可能会随着Sun这家公司一起消失。
而这场开源在Sun内部也充满争议:曾有工程师明确表示自己"坚决反对完全开源",因为担心平台分裂的风险——毕竟团队花了十年时间才维持住"Java到处运行"这个承诺不被打破。

十年停滞,和被写进历史的至暗年代
2000年互联网泡沫破裂,Sun市值一夜蒸发93%,公司此后再也没能真正缓过来。这直接拖累了Java:2004年到2014年之间,Java几乎陷入停滞,主版本之间间隔长达五年,创新乏力。
纪录片里一位受访者坦承,自己当年是"Java最激烈的批评者之一",举着牌子喊"别再用Java了",而且他认为这种批评"完全应得"。

与此同时,明显借鉴Java思路、但在语言层面持续快速迭代的C#和.NET平台一路高歌猛进,让不少Java开发者只能眼馋。
这段时期最戏剧性的转折发生在2008年金融危机前后:IBM一度是收购Sun最热门的候选人,在最后关头临阵退出,甲骨文(Oracle)随即出手。业内当时的普遍反应是担忧:“Oracle只做数据库出身,他们会怎么对待Java?会不会直接砍掉,或者把它扔进维护模式?”
意外的救赎:甲骨文接手之后,Java反而活过来了
结果出乎几乎所有人的意料:Oracle收购Sun,反而成了Java的一次真正救赎。 原本Sun内部长期被资金压力和管理混乱拖累的核心团队——包括后来主导语言演进的Brian Goetz和首席工程师Mark Reinhold——在Oracle治下反而获得了更清晰的商业决策机制和更稳定的资源投入。
真正的翻盘之作是Java 8。
团队把这个版本称为"最后一次机会":如果这次再证明不了Java这条老狗还能学会新把戏,可能就真的没有下次了。
核心赌注是引入Lambda表达式——这个特性理论基础可以追溯到上世纪三十年代的Lambda演算,早已在Haskell、OCaml、Lisp里成熟应用,但在Java社区内部争议巨大,有人认为"这对蓝领语言来说太前卫了"。
最终Brian Goetz主导设计,剥离掉了早期提案里大量不必要的复杂度,让Lambda以一种"很Java"的方式落地。这次发布后来被形容为Java历史上采用速度最快的版本之一,也是它把不少曾经的批评者转变成了坚定拥护者。
六个月一个版本:一次彻底重塑发布节奏的决定
Java另一个常被低估的变革,是发布节奏的重构。
过去每次大版本间隔三四年,一个特性一旦没赶上末班车,就要再等好几年,团队因此常年处在"要不要为了一个功能推迟整个发布"的煎熬里。
从Java 9开始,团队改成了雷打不动的六个月发布周期——特性开发和版本发布彻底解耦,一个功能没做完,大不了下一班车再上。
这个决定当初在内部争议不小,被形容为"一开始简直吓人",但事后被普遍认为是让Java重新变得敏捷的关键一步。

现在的Java:虚拟线程、Valhalla,和为AI铺路
纪录片的最后一部分把镜头对准了当下。Loom项目带来的虚拟线程,被多位受访者称为"多年来加进这门语言里最好的特性之一":过去为了高并发不得不写复杂难调试的响应式代码,现在只需要切换一个开关,就能用最朴素的单线程写法达到同样的伸缩性。
更值得关注的是仍在推进中的Valhalla项目,它的目标是修复Java当年为了兼容性而留下的"原罪"——基本类型(primitive)和引用类型(reference type)之间的历史割裂。
一旦打通,不仅会带来语言表达力的又一次飞跃,还将直接提升内存布局效率,让矩阵乘法这类运算大幅提速——这对AI推理场景是实打实的利好。
与此同时,Panama项目(名字取自巴拿马运河,寓意"打通两个世界之间最短的路")正在让Java与本地代码的互操作变得更简单、更快、更便宜。
多位受访者表示,Java凭借在企业级市场的深厚基础,以及这些底层改进,完全有能力在AI基础设施这条赛道上占据一席之地。
写在最后:一门语言的护城河,从来不是语法
纪录片里有一段话很打动人:Java真正的力量,从来不只是语言本身,而是它背后的社区——目前全球有超过340个Java用户组,开发者总数估计在一千万到一千四百万之间。有受访者直言,如果没有开源社区,“Java今天根本不会存在”。
看完这部纪录片会发现,Java能走到今天,靠的不是一条平顺的直线,而是一连串近乎侥幸的转折:一次失败的硬件项目、一次浏览器革命的意外撞上、一场差点被微软扼杀的官司、一次差点被自己的复杂规范拖垮的企业级转型、一段被认为"已死"的停滞期、一次意外带来救赎的收购。
用其中一位受访者的话说:这背后有太多运气成分——在对的时间出现在对的地方,遇到对的人,冒出对的想法,某种程度上,一切都像是掷骰子。
30年过去,今天你钱包里的信用卡、你打的每一通电话、你网购时后台跑的服务,很可能都还在用Java。
这或许才是对一门编程语言最高的褒奖:它安静到你根本意识不到它的存在,却又无处不在。
本文基于YouTube纪录片《The Java Story | The Official Documentary》整理解读,原视频:https://www.youtube.com/watch?v=ZqGSg4b_cZA
还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 《从0 开始构建 Agent Harness》 将带你:
- 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
- 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
- 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
- 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
- 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”
扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。

还在为“复制粘贴喂AI”而烦恼?我的新专栏 《AI原生开发工作流实战》 将带你:
- 告别低效,重塑开发范式
- 驾驭AI Agent(Claude Code),实现工作流自动化
- 从“AI使用者”进化为规范驱动开发的“工作流指挥家”
扫描下方二维码,开启你的AI原生开发之旅。

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。
