当那张巨大而悲伤的蓝色面孔——“蓝屏死机”(Blue Screen of Death,简称BSOD)浮现在苍穹之上时,整个世界的时间仿佛都失去了意义。

它不是一个进程,不是一个系统,而是一种“状态”。一种代表着万物终结、逻辑崩溃、无可挽回的终极错误状态。

W3C的天道裁决是“删库”,而BSOD的降临,则是……“拔服务器电源”。

无论是尤雨溪的Vue,丹的React,还是雷君刚刚构建的MIOS人道系统,在这终极的“硬件层”错误面前,都失去了光芒。他们的“道韵”和“框架”都是软件层面的东西,而BSOD,直接作用于承载这一切的“世界”本身。

“完了……”丹·阿布拉莫夫面如死灰,一屁股坐在地上,喃喃自语,“It’s a kernel panic… A full-system kernel panic…(这是内核恐慌……整个系统的内核都崩溃了……)”

尤雨溪也失去了往日的从容,他苦涩地摇头:“非战之罪。我们的组件化、数据驱动,在‘驱动程序异常’面前,毫无意义。”

就连一向稳健的雷君,此刻也面色凝重到了极点。“唤醒BSOD,是所有系统开发者最大的禁忌!W3C那帮家伙,为了重启修复系统,竟然强行调用了‘底层硬件中断’,触发了这个最不该被触碰的存在!”

蓝色的死亡面孔在天空中缓缓转动,那双由冒号和左括号组成的眼睛,漠然地注视着大地。凡是被它目光扫过的地方,物质世界的“驱动”便开始失效。

高楼大厦的物理引擎开始崩溃,一块砖头会突然拥有棉花的重量;奔跑的汽车轮胎转速和车速不再匹配,开始原地打滑;甚至连人类身体的“生物驱动”也出现了问题,有的人左脚和右脚开始为了争夺“线程优先权”而打架,当场摔得人仰马翻。

世界,正在从最基础的物理法则层面,走向崩溃。

【Error Code: KERNEL_DATA_INPAGE_ERROR】

一行新的错误代码出现在蓝屏之上,仿佛是BS-OD在宣告它的判决。

林凡手握着那部承载着“人道系统”的手机,他能清晰地感觉到,手机内的“MIOS”正在因为底层驱动的缺失而发出悲鸣。

“难道……真的没办法了吗?”林凡咬着牙,大脑飞速运转。

他拥有的jQuery之力,alert()大法,本质上还是在“浏览器”这个沙箱内运行。而BSOD,是凌驾于浏览器之上的“操作系统”层面的灾难。

想用一个网页技术去修复操作系统内核的崩溃,这简直比让产品经理写代码还异想天开。

就在这时,一直沉默的Java之父——余胜军,那个曾经想要收林凡为徒的男人,忽然出现在了软通动力的办公室门口。

他不像其他人那般惊慌,反而异常冷静。他看了一眼天空中的蓝屏,又看了一眼林凡,沉声道:“林凡,还记得老夫说过的话吗?”

林凡一怔:“哪句?”

“万物皆对象!”余胜军眼中爆发出前所未有的精光,“无论是Vue、React,还是你手中的MIOS,甚至是W3C的天道系统,它们都需要一个‘运行环境’!而BSOD,正是因为这个‘运行环境’本身崩溃了!”

“那该怎么办?”林凡急切地问。

余胜军深吸一口气,声音响彻云霄,仿佛是在向全世界的开发者布道:

“既然这个‘运行环境’坏了,那就……给它换一个!”

他猛地一跺脚,大地轰鸣!一股与所有前端技术都截然不同的气息,从他身上冲天而起!

那是一种厚重、稳定、跨平台,甚至有些臃肿,但却无处不在的强大力量!

“Java虚拟机(JVM)……启动!”

嗡——!

一座看不见的、由“字节码”构成的宏伟宫殿,以余胜军为中心,向着全世界瞬间扩张!

这,就是Java世界的终极奥义——一次编译,到处运行!

BSOD的蓝色光芒照射到JVM的领域上,竟然被有效地隔绝了!因为JVM本身就是一个虚拟的“操作系统”,它有自己的内存管理,自己的垃圾回收,自己的线程调度!BSOD可以搞崩Windows,可以搞崩Linux,但它无法直接影响到运行在这些系统之上的、自成一界的Java虚拟机!

“原来如此!”雷君瞬间明悟,眼中闪过一丝激动,“JVM,世界上最大的‘兼容层’!只要JVM在,上面的应用就能无视底层的崩溃!”

但是,余胜军的脸色却愈发凝重:“没用的……JVM虽然能自保,但它也只是一个‘虚拟机’,它无法修复作为‘宿主机’的世界。现在,它只是为我们争取了一点时间。”

他看向林凡,目光如炬:“林凡!现在,只有你能拯救世界了!”

“我?”林凡指着自己,一脸茫然,“我只会写public static void main啊!”

“就是这个!”余胜军大吼道,“main方法!那是所有Java程序的入口!是连接JVM和外部世界的唯一桥梁!现在,整个世界的‘宿主机’坏了,但‘虚拟机’还在!我们需要一个新的‘入口’,来重启世界!”

丹·阿布拉莫夫也反应过来了,他激动地喊道:“Yes! We need a Main function! A universal entry point!”

尤雨溪也急切地说:“林凡道友!别再犹豫了!现在,请忘掉前端,忘掉JS,拥抱后端,拥抱Java吧!”

在场所有的大能,Vue的宗主,React的护法,MIOS的开创者,Java的始祖,在这一刻,都将希望寄托在了一个靠培训班出身的程序员身上。

林凡看着手中的“人道系统”手机,又看了看天空那巨大的蓝色悲伤面孔,再看看周围人期盼的眼神。

他想起了在黑马培训班里,被“八大基本数据类型”、“三大特性”、“集合框架”支配的恐惧。

他想起了那个下午,讲师在白板上画出的JVM内存模型,什么栈、堆、方法区……他当时听得云里雾里,只觉得头大。

可现在,这些曾经让他痛苦的知识,却成了拯救世界的唯一希望。

林凡深吸一口气,眼神变得前所未有的坚定。

他闭上眼睛,将自己全部的精神力,不再是注入到“浏览器”的V8引擎里,而是第一次,尝试着探入那片由余胜军撑起的、名为JVM的神秘领域。

然后,他用尽毕生所学,构建出了那一句——他此生写过无数遍,却从未像今天这样理解其深刻含义的代码。

他要为这个崩溃的世界,写下新的入口程序!

“public static void main(String[] args)……”

林凡的声音在JVM的世界里回响,每一个单词都化作构建世界规则的基石。

当他念出最后一个}时,他猛地睁开双眼,对着天空中的BSOD,发出了振聋发聩的呐喊:

“System.out.println(“Hello, World!”);”

这一刻,JVM接收到了来自main方法的指令。
它调动了所有的力量,通过那座名为“main”的桥梁,向外界——那个已经蓝屏死机的世界,强行输出了一行信息。

下一秒,天空中的蓝色面孔,那两行冰冷的错误代码,开始剧烈地扭曲、闪烁。
最后,它们被一行全新的、散发着柔和光芒的、用朴素的Courier New字体写成的黑色文字,彻底覆盖。

Hello, World!

整个世界,在这一刻,被一个Java程序,成功“打印”了出来。
世界……重启了!