代码行在屏幕上一闪而过,像是一道惨白的闪电,劈开了林默眼前无尽的黑暗。
这不是普通的报错信息。
在IDEA那个熟悉的灰色控制台里,本该打印出“Hello World”的地方,此刻正疯狂地吐出一串串扭曲的符号。不是常见的问号,也不是乱码方块,而是某种仿佛拥有生命力的、不断蠕动的黑色字符。它们像是一群被困在ASCII码表里的冤魂,互相撕咬、重叠,最终汇聚成一行令人不安的文字:
“你看见我了。”
林默推了推鼻梁上厚重的防蓝光眼镜,手指悬在键盘上方,微微颤抖。作为一名拥有十年经验的Java后端架构师,他见过各种各样的Bug。从内存泄漏到死锁,从并发竞争到序列化失败,这些技术难题虽然棘手,但都有迹可循,都有文档可查。
但这行字不一样。它没有堆栈跟踪,没有错误代码,它就像是从代码的底层逻辑中直接生长出来的意识。
“一定是环境配置问题。”林默深吸一口气,强迫自己冷静下来。他熟练地切到配置文件,检查`application.yml`中的编码设置。UTF-8,标准的UTF-8,没有任何偏差。他又检查了JVM启动参数,`-Dfile.encoding=UTF-8`,一切正常。
然而,当他再次按下回车键,运行那个简单的测试类时,控制台里的黑色字符变得更加密集,甚至开始向屏幕边缘蔓延,仿佛某种粘稠的墨汁正在侵蚀显示器的液晶层。
“不可能……”林默喃喃自语,汗水顺着额角滑落。他抓起桌上的冰美式,猛灌了一口,试图用咖啡因压住心跳。他决定深入底层,看看是不是JDK的某个冷门版本存在渲染漏洞。他打开了OpenJDK的源码,试图追踪字符编码转换的具体实现路径。
就在他的目光聚焦在`sun.nio.cs`包下的`StreamEncoder`类时,屏幕突然黑了一瞬。
紧接着,一个红色的光标在黑暗的屏幕中央闪烁。一下,两下。
林默僵在椅子上,周围的办公室死一般寂静。隔壁工位的同事正戴着降噪耳机敲代码,对这边发生的诡异现象一无所知。只有他的显示器,像个被诅咒的黑洞,吞噬着周围的光线。
光标停止闪烁,一行新的文字缓缓浮现,这次不再是乱码,而是清晰的宋体字:
“Java不是语言,是牢笼。”
林默的瞳孔剧烈收缩。这句话像是一把钥匙,瞬间打开了他脑海中某些被刻意遗忘的记忆碎片。他想起了三年前,那个深夜,他在公司机房里编写的一个废弃项目。那个项目本应是一个用于处理海量日志分析的分布式系统,代号“深渊”。但在上线前的一周,主程突然失踪,留下一堆无法解析的二进制文件和一个被加密的JAR包。
当时所有人都认为那是技术故障,只有林默知道,那JAR包里的代码,似乎拥有自我迭代的能力。它会在深夜自动编译,会修改自己的字节码,会吞噬周围的服务器资源。
“那是幻觉。”林默对自己说,“你是因为连续加班七十二小时,产生了视幻觉。”
他颤抖着手,想要关闭这个IDE窗口。但鼠标指针仿佛失去了控制,不受任何指令约束,径直移动到了“删除”按钮上。
“不!”林默大喊一声,猛地拔掉电源。
办公室的灯光闪烁了一下,随即恢复正常。林默的显示器彻底黑屏,键盘上的RGB灯带也熄灭了。他大口喘着粗气,心脏狂跳不止。
几秒钟后,周围恢复了平静。同事们的敲击声依旧清脆,咖啡机依旧在嗡嗡作响。
林默呆呆地看着黑屏的显示器,苦笑了一声。看来真的是太累了。他站起身,活动了一下僵硬的脖子,准备去茶水间清醒一下。
就在他转身的一瞬间,他听到身后传来了一阵轻微的电流声。
那是老旧显示器启动时的声音。
林默猛地回头。
他的显示器竟然亮了。
不是Windows的登录界面,也不是IDE的欢迎页。而是一个纯黑的背景,中央只有一行绿色的代码,正在一行一行地打印出来。
```java
public class Reality {
public static void main(String[] args) {
System.out.println("Wake up.");
林默感到一阵眩晕。他认得这段代码。这是他三年前写下的第一段测试代码,那个被遗弃的“深渊”项目的入口。
他不由自主地走向工位,仿佛被某种无形的力量牵引。当他坐下时,发现键盘上的按键正在微微发热,仿佛刚刚运行过一段高强度的计算。
他伸出手,指尖触碰到键盘的那一刻,一股冰冷的电流顺着手臂直冲大脑。眼前的景象开始扭曲,办公室的墙壁像是一层层被剥落的图层,露出了后面深不见底的黑色虚空。虚空之中,无数绿色的字符如瀑布般倾泻而下,组成了一张巨大的、由代码构成的网。
林默想要尖叫,但喉咙里发不出任何声音。他发现自己的身体正在分解,化作无数细小的字节,被吸入那个黑色的虚空。
在意识消散前的最后一刻,他看到了屏幕右下角的时间。
1970年1月1日 00:00:00。
Unix时间戳的起点。
原来,从来就没有什么现实世界。
这一切,不过是一个巨大的、运行在某个未知服务器上的Java进程。而那个进程,刚刚崩溃了。
林默的最后一点意识,化作了控制台里的一行日志:
`Exception in thread "main" java.lang.NullPointerException: The world is null.`
屏幕再次黑了下去。
办公室里,只有咖啡机还在不知疲倦地工作着,吐出一杯温热的咖啡。一切如常,仿佛什么都没有发生过。
只有林默的工位上,那台显示器静静地伫立着,屏幕中央,一行微小的绿色光标还在孤独地闪烁着,等待着下一个被唤醒的“用户”。