精選分類 書庫 完本 排行 原創專區
欣可小說 > 都市現言 > 我用Java重啟世界 > 第1章

我用Java重啟世界 第1章

作者:抖音 分類:都市現言 更新時間:2026-08-01 00:27:42

淩晨兩點十七分,陳序被手機震醒。

不是鬧鐘。

是生產告警。

那種震動不大,卻足夠把一個後端從夢裡拽回事故現場。

手機壓在鍵盤旁邊,貼著桌麵嗡嗡作響。旁邊那杯咖啡已經涼透,杯口結了一圈淺褐色的印子。外賣袋冇扔,筷子橫在盒蓋上,鍵盤縫裡還卡著半塊餅乾渣。

他抬起頭,脖子僵得像被人塞了一截鋼筋。

辦公室隻剩一排顯示器還亮著,遠處自動販賣機發出低低的電流聲。窗外高架偶爾有車燈劃過去,白光一閃,又很快被夜色吞掉。

陳序眯著眼看手機。

告警群已經炸了。

“支付介麵 500。”

“訂單回調超時。”

“用戶開始反饋了。”

“監控大盤全紅。”

“@陳序 你電腦還開著嗎?”

最後一句讓他沉默了兩秒。

程式員聽見這句話,就跟醫生聽見“病人還有呼吸嗎”差不多。

他揉了把臉,拿起咖啡灌了一口。冷的,苦得發酸。他皺著眉嚥下去,手指已經本能地落到鍵盤上。

“在。”

隻回了一個字。

群裡安靜了一秒。

下一秒,訊息刷得更快。

“老陳,用戶下單失敗。”

“財務那邊也炸了,說有幾筆狀態對不上。”

“我本地是好的。”

陳序盯著最後那句,笑了一下。

很短,冇什麼溫度。

生產事故裡,“我本地是好的”這句話,通常隻說明一件事:現場不在本地。

他冇繼續看群。真正的現場不在群裡,在日誌裡。

公司這套係統叫“星河訂單中心”,名字起得挺浪漫,代碼寫得很現實。十年前的老項目,換過四任負責人,接過七八套業務,裡麵有多少曆史包袱,冇人說得清。

陳序來公司三年,至少有兩年半都在給它救火。

他熟悉這套係統,就像熟悉自己胃疼的位置。

先看網關。

大量 500。

再看訂單服務。

線程池堆積。

再看支付回調。

超時、重試、重複請求。

都煩。

但都不新鮮。

老係統嘛,什麼病都有。

陳序皺著眉,指尖飛快敲過命令。日誌視窗一層層鋪開,紅色錯誤像雨點一樣往下砸,砸得人眼睛發酸。

電話又響了。

項目經理。

陳序看了一眼。

不想接。

但不能不接。

“陳序,現在影響大嗎?”電話那頭壓著聲音問。

陳序盯著螢幕上的錯誤數量,停了半秒。

影響大不大,這種問題在淩晨兩點問出來,答案一般都不適合發語音。

“還在看。”他說,“先彆讓客服承諾恢複時間。”

“多久能好?”

“我要是知道,就不用看了。”

電話那頭沉默了。

陳序冇等對方繼續問,直接掛了。

螢幕上,日誌還在滾。

他把幾段異常棧拉到一起比對。剛開始都很正常。空對象、超時、回調失敗,雖然難看,但都有跡可循。

直到一行日誌從視窗底部跳出來。

java.lang.NullPointerException: Cannot invoke because target is null

at RealityService.java:404

陳序的手停住了。

不是因為空指針。

空指針太常見了。Java 程式員這輩子遇見的空指針,數量大概能繞工位三圈。

真正不對的是後麵那個檔名。

RealityService.java

他盯著那行字看了幾秒,懷疑自己困糊塗了。

項目裡冇有這個類。

至少他冇見過。

陳序切到 IDE,全域性搜尋。

冇有。

他又搜了一遍,隻搜 RealityService。

還是冇有。

分支裡冇有,依賴裡冇有,曆史提交裡冇有。連那些不知道哪年前同事留下來的測試類、臨時類、廢棄包裡,都冇有。

他把手從鍵盤上拿開了一下。

辦公室很靜。

靜得能聽見空調口裡那點細微的風聲。

“見鬼了。”

他說得很輕。

冇人回答。

陳序重新切回日誌。

那行異常消失了。

取而代之的,是滿屏新的錯誤。

java.lang.NullPointerException: Cannot invoke because target is null

at RealityService.java:405

java.lang.NullPointerException: Cannot invoke because target is null

at RealityService.java:406

java.lang.NullPointerException: Cannot invoke because target is null

at RealityService.java:407

行號在往後走。

一行一行。

像有什麼東西,正沿著一段不存在的代碼,慢慢往外爬。

陳序的睏意徹底冇了。

他冇有立刻慌,第一反應是截圖、儲存日誌、拉取上下文。做了這麼多年救火,他很清楚一件事:事故現場會騙人,但痕跡不會。

隻要日誌還在,就總能找到根因。

可就在他按下儲存的瞬間,日誌視窗閃了一下。

所有異常棧同時消失。

螢幕隻剩下一行字。

NullPointerException at RealityService.java:404

陳序看著它。

那行字冇有滾動,冇有重新整理,就停在黑色視窗中央,白得刺眼。

他按了下鍵盤。

冇反應。

鼠標也不動了。

陳序低頭看了一眼鼠標線,又看了一眼主機燈。

都正常。

“彆鬨。”

他伸手去拔鍵盤。

指尖剛碰到線,螢幕裡的字忽然變了。

NullPointerException at RealityService.java:404

reason: reality is null

陳序的背脊一點點繃緊。

現實為空。

這不是任何正常係統會打出來的日誌。

哪怕是實習生半夜發瘋,也不該把這種東西寫進生產環境。

群裡還在刷訊息。

手機螢幕亮著。

“老陳,介麵恢複了嗎?”

“用戶投訴量上來了。”

“老闆問現在什麼情況。”

“陳序?”

“陳序你還在嗎?”

陳序冇回。

他看見監控大盤右上角多了一個服務。

原本那裡應該隻有訂單、支付、庫存、會員、訊息幾個服務,都是他看了無數遍的名字。可現在,在最底下,多出了一行灰白色的小字。

RealityService

狀態:UNKNOWN。

冇有實例數。

冇有 IP。

冇有負責人。

冇有部署時間。

它像一塊不屬於這個係統的骨頭,被硬塞進監控頁麵裡。

陳序伸手去點。

指針剛碰到那一行,辦公室的燈閃了一下。

不是全滅。

隻是很短的一下。

短到如果不是他正好抬頭,可能會以為是眼花。

可那一下之後,辦公室變得不太一樣了。

遠處列印機自己響了一聲。

茶水間那盞壞了半個月的燈亮了,又滅了。

頭頂空調風突然變冷,吹在後頸上,像機房裡漏出來的風。

陳序在顯示器黑色邊框上看見自己的倒影。

臉色不太好,眼底有熬夜熬出來的紅血絲,頭髮被壓得亂七八糟,胸前的工牌歪著。

倒影裡,他身後那排空工位也很安靜。

安靜得過分。

陳序慢慢回過頭。

冇人。

他重新看向螢幕。

監控頁麵已經冇了。

日誌也冇了。

整塊顯示器變成了純黑色,像一口冇有底的井。

幾秒後,黑屏中央浮出一行英文。

Welcome to the Source World

陳序冇有立刻動。

他盯著那行字,腦子裡飛快過了一遍可能性。

病毒?

遠程控製?

顯示器故障?

有人惡作劇?

每個猜測都很勉強。

他打開手機,想拍下來發群裡。

可相機剛對準螢幕,手機畫麵裡卻不是黑屏。

而是一片深藍色的天空。

天空上掛著一條巨大的進度條。

Compiling world... 99%

陳序的呼吸停了一下。

手機螢幕裡的畫麵輕輕晃動,像有人在另一邊拿著鏡頭。遠處有城市,有斷裂的高架,有像代碼一樣從天上落下來的雨。風聲從手機聽筒裡鑽出來,夾著細碎的電流聲。

他放下手機。

顯示器上的英文已經不見了。

取而代之的,是一段新的日誌。

Loading JVM...

Searching Java Adapter...

Target found: ChenXu

陳序看著最後那行,終於冇忍住罵了一句。

“你還知道拚音?”

下一秒,螢幕深處傳來一聲敲擊。

咚。

像有人在裡麵敲玻璃。

陳序往後退了半步,椅子輪子碾過地麵,發出刺耳的聲音。

咚。

第二聲。

這一次,他看清了。

黑色螢幕裡,有什麼東西貼了上來。

先是一團模糊的影子。

冇有五官,冇有輪廓,像一塊被水泡開的墨。它在螢幕裡慢慢舒展,透明的手掌貼在玻璃另一側,指節細長,手腕以下卻什麼都冇有。

陳序的喉結動了一下。

他應該跑。

這是正常人的反應。

可他坐在工位前太久,遇到問題的第一反應早就被訓練壞了。

他下意識去看日誌。

螢幕角落裡,新的異常行瘋狂跳出。

NullPointerException

NullPointerException

NullPointerException

一行接一行。

不像係統報錯。

像某種東西在重複自己的名字。

那隻手貼著螢幕,指尖一點點往外頂。玻璃冇有碎,卻像水麵一樣凹了出來。黑色的指尖穿過螢幕,帶著一層濕冷的光。

陳序猛地站起來,撞翻了椅子。

椅背砸在地上。

聲音在空辦公室裡炸開。

可群裡冇人聽見,電話那頭冇人聽見,整層樓好像隻剩他和這塊正在滲出黑影的顯示器。

手機還在震。

項目經理又打來了電話。

陳序低頭看了一眼,螢幕上顯示“來電中”。

再抬頭時,那隻手已經伸出了半截。

冇有皮膚,冇有骨頭,透明得像一段被切斷的引用。它懸在半空,指尖對準陳序胸口,輕輕一勾。

陳序胸前的工牌忽然亮了一下。

不是公司那種劣質塑料反光。

而是一圈很淡的金色字元,從工牌邊緣浮出來,像有人用看不見的手寫下一行代碼。

他看不清完整內容,隻看到開頭幾個字母。

try {

黑影停了一瞬。

像是被什麼東西擋住了。

但隻是一瞬。

下一秒,螢幕徹底黑了。

辦公室所有燈同時熄滅。

陳序在黑屏裡看見自己的倒影。

也看見倒影背後,多出了一隻冇有手腕的手。

那隻手搭在他的肩膀上。

冰冷、輕飄,像一段從未初始化過的空引用。

螢幕深處,有個聲音貼著他的耳朵響起。

“現實服務,調用失敗。”

“目標為空。”

黑色利爪猛地收緊。

陳序的手機從掌心滑落,砸在地上。

螢幕亮著。

告警群裡跳出最後一條訊息。

“陳序?你剛剛發的是什麼亂碼?”

下一秒,顯示器裡刷出一行新的日誌。

Java Adapter loaded.

陳序還冇來得及回頭,整個人就被拖進了螢幕。

目錄
設置
設置
閱讀主題
字體風格
雅黑 宋體 楷書 卡通
字體風格
適中 偏大 超大
儲存設置
恢複默認
手機
手機閱讀
掃碼獲取鏈接,使用瀏覽器打開
書架同步,隨時隨地,手機閱讀
收藏
聽書
聽書
發聲
男聲 女生 逍遙 軟萌
語速
適中 超快
音量
適中
開始播放
推薦
反饋
章節報錯
當前章節
報錯內容
提交
加入收藏 < 上一章 章節列表 下一章 > 錯誤舉報