第一卷:宿命的召喚_第六章 不具合1

五月十八日,週四,AM9:00。   姜北在自己辦公桌前填着借款表格。   根據公司的規矩,出差或常駐的人員在臨行前可以向公司借款,金額2萬到十萬不等,出差或常駐回來後再拿發票報銷,這對於經濟狀況不好的員工來說這是個很惠民的政策。因爲都是內部人,通常審批的都很快,隔天款項就會打進來。   姜北的手頭很緊,僅憑自己手裡的那點錢,換成日元到那邊根本不夠自己的花銷,所以出發前他需要先向公司借筆款。通常出差的人員不論手頭是否寬裕都會這麼做,反正也沒有利息,何樂而不爲呢?   他正低頭填着表格,旁邊一個聲音道:“北哥,忙什麼呢?”   姜北擡頭一看,是韓鈺,因爲項目前天剛提交,項目組這兩天難得清閒。   姜北笑道:“沒什麼,填個表格,出差前向公司借點錢。”   因爲昨天晚上跟她的約定,他今天的心情大好。   “你下週就要走了吧?”   “是啊,你有什麼想帶的不用客氣,儘管開口。”   姜北對韓鈺的印象一向很好,他工作認真,脾氣又好,是自己的得力助手。   韓鈺笑道:“那太好了,讓我想想……”他摸着下巴沉吟一會兒,說道:“你到那邊後就給我寄點清酒吧,中國酒我喝過很多,日本酒還真從來都沒嘗過。”   姜北笑道:“沒問題,等我到那邊什麼清酒燒酒的都讓你喝個夠。”   韓鈺大笑,摟着姜北肩膀道:“北哥真是夠義氣……”   兩人正說着,不遠處的李麗薇衝這邊喊道:“姜北,你過來一下。”   李麗薇的辦公桌離姜北那也就五六米,姜北拍拍韓鈺,走到她身邊,笑問道:“李姐也需要我帶點什麼東西嗎?”   姜北今天

心情着實不錯,不然他平時是很少跟她開玩笑的。   李麗薇面沉似水,指着自己的顯示器,對他說道:“你看看這個。”   姜北見她面色不善,心中正疑惑,便轉頭看向她的顯示器,頓時吃了一驚。   李麗薇給他看的是日方剛剛發來的一封EMail,裡面的內容是昨天晚上在日方的真實運行環境上出現了重大的不具合,直接導致服務器崩潰,現在正在緊急維護中,而照成這個問題的正是前天S市分部提交的項目。日方總部對這件事情十分惱怒,勒令這邊馬上調查不具合原因。   這封EMail是直接發給周東亦的,另外抄送給了幾個公司高層。   姜北怔怔的看着顯示器,剛纔的笑容就像凝固了一般,硬生生的僵在了臉上,他瞬間就意識到了這次問題的嚴重性,如果事情屬實,自己作爲項目的負責人實在是難辭其咎。   “會不會……是他們搞錯了。”姜北驚訝的發現自己竟然磕巴了,說出的這話連自己都不信。   “希望是吧,”李麗薇臉色難看極了,“我把郵件轉發給你,你趕緊回去看看,一會兒可能會開檢討會,你要有所準備。”   “好的。”姜北應了一聲,趕忙回到了自己的座位。   正像李麗薇說的那樣,周東亦對這件事極其重視,下午一點便召集了衆人開檢討會,與會的有公司幾個高層,品質部的幾人和項目組的相關人員。   會議的主題是分析這次重大不具合的原因,主要由品質部的嚴亦分析講解。   會議室的氣氛很壓抑,周東亦更是陰沉着一張臉,這次的事故讓他受到總部的嚴厲批評,正在氣頭上,這時候誰也不敢多說話,生怕觸了黴頭。   嚴亦打開投影儀,將會議室的電腦遠程連接到自己的電腦

上,開始了分析講解。   “這次不具合的原因已經初步調查清楚,之所以照成日方服務器的崩潰,是因爲程序中的邏輯出錯,形成了死循環。具體出錯的地方我已經定位到,大家看下面這段代碼……”   嚴亦說着打開了一個文件,映在牆壁的投影上顯示出了一段代碼:   for(inti=0;i<getLength();i++){//todo...ListaccountList=accountDao.getAccountInfo();//todo...if(getLength()>CONSTANTS.MAX_LENGTH){break;}//todo...}   “大家請看,代碼for循環中對DB做了一些請求,但是循環上限的getLength方法得到的數值卻是一個天文數字,所以照成這個循環始終在運行,大量的DB請求直接導致了服務器超載,最後崩潰……”   “那爲什麼我們這邊的測試沒有出現問題?”李麗薇打斷嚴亦的講解問道。   “那是因爲我們這邊的數據量小,而日方的真實運行環境中卻是非常龐大的數據量,所以同樣的代碼在不同的環境中運行次數完全不在一個數量級。”   嚴亦停頓了一下,見李麗薇沒有異議,正要繼續講解,旁聽的韓鈺突然打斷道:“我有個問題。”   “你說。”   “你看for循環中的代碼,在if語句中明明有跳出循環的break,如果getLength方法得到的結果真是一個天文數字,循環早在達到常量CONSTANTS.MAX_LENGTH定義的上限值前就跳出循環了,怎麼可能一直進行下去?”

(本章完)

第六卷:虛擬的現實_第一百六十八章 避禍第六卷:虛擬的現實_第一百九十一章 神秘人第五卷:真實的世界_第一百一十五章 融合第六卷:虛擬的現實_第一百八十章 死傷慘重第五卷:真實的世界_第一百三十七章 瘋子第四卷:世界的真相_第七十六章 探底第六卷:虛擬的現實_第一百五十八章 惡鬥第四卷:世界的真相_第九十三章 人禍第五卷:真實的世界_第一百三十三章 楓夕香第五卷:真實的世界_第一百四十三章 委員擴大會議第五卷:真實的世界_第一百一十一章 起源(2)第二卷:迷茫的揚帆_第四十二章 救贖第四卷:世界的真相_第九十四章 離別第二卷:迷茫的揚帆_第四十章 大開殺戒第五卷:真實的世界_第一百二十二章 特殊身份第六卷:虛擬的現實_第一百七十四章 攻城第二卷:迷茫的揚帆_第二十六章 轉機(1)第三卷:抵拒的覺醒_第五十二章 陰雲第六卷:虛擬的現實_第一百六十章 御毒第四卷:世界的真相_第一百章 自戕第五卷:真實的世界_第一百二十八章 節外生枝第三卷:抵拒的覺醒_第五十九掌 墮落第四卷:世界的真相_第九十八章 斷義第五卷:真實的世界_第一百四十四章 決議第四卷:世界的真相_第八十章 不能說第一卷:宿命的召喚_第十四章 餌第二卷:迷茫的揚帆_第二十六章 轉機(1)第六卷:虛擬的現實_第一百九十章 耳鼠王第五卷:真實的世界_第一百三十四章 揣測第五卷:真實的世界_第一百四十章 招牌第三卷:抵拒的覺醒_第四十九章 警告第三卷:抵拒的覺醒_第五十五章 暗算第四卷:世界的真相_第七十七章 各取所需第五卷:真實的世界_第一百三十二章 苦心第一卷:宿命的召喚_第十四章 餌第三卷:抵拒的覺醒_第五十二章 陰雲第三卷:抵拒的覺醒_第七十二章 因果鏈第三卷:抵拒的覺醒_第六十三章 再會牛教授第四卷:世界的真相_第八十一章 意外第二卷:迷茫的揚帆_第二十四章 小鎮風雲(2)第三卷:抵拒的覺醒_第六十五章 量子論第五卷:真實的世界_第一百二十四章 暗度陳倉第五卷:真實的世界_第一百二十四章 暗度陳倉第一卷:宿命的召喚_第一章 畫中仙第二卷:迷茫的揚帆_第四十四章 平流霧第五卷:真實的世界_第一百四十一章 合理解釋第五卷:真實的世界_第一百三十七章 瘋子第六卷:虛擬的現實_第一百六十二章 北瀚城第四卷:世界的真相_第九十六章 元念擴散器第三卷:抵拒的覺醒_第六十四章 請教第三卷:抵拒的覺醒_第六十章 重生第四卷:世界的真相_第九十五章 晴空塔第六卷:虛擬的現實_第一百六十章 御毒第二卷:迷茫的揚帆_第三十一章 開眼第三卷:抵拒的覺醒_第七十章 報復第二卷:迷茫的揚帆_第二十六章 轉機(1)第三卷:抵拒的覺醒_第七十五章 崩潰第六卷:虛擬的現實_第一百七十五章 惡戰第二卷:迷茫的揚帆_第二十六章 轉機(1)第五卷:真實的世界_第一百二十章 歌德爾命題第五卷:真實的世界_第一百三十六章 一石二鳥第二卷:迷茫的揚帆_第四十一章 舌戰第四卷:世界的真相_第一百零一章 死亡預言第六卷:虛擬的現實_第一百六十九章 殘酷世界第三卷:抵拒的覺醒_第六十六章 去執着第三卷:抵拒的覺醒_第六十六章 去執着第四卷:世界的真相_第八十三章 糾纏第四卷:世界的真相_第一百零五章 斬首第五卷:真實的世界_第一百二十一章 委員會第一卷:宿命的召喚_第十四章 餌第五卷:真實的世界_第一百五十章 特13服第四卷:世界的真相_第八十章 不能說第一卷:宿命的召喚_第十八章 評級2第六卷:虛擬的現實_第一百八十四章 新力量第五卷:真實的世界_第一百三十五章 嫌疑第六卷:虛擬的現實_第一百六十九章 殘酷世界第五卷:真實的世界_第一百四十一章 合理解釋第二卷:迷茫的揚帆_第三十五章 老千第三卷:抵拒的覺醒_第六十四章 請教第六卷:虛擬的現實_第一百五十二章 新世界第五卷:真實的世界_第一百四十四章 決議第三卷:抵拒的覺醒_第五十三章 引火燒身第四卷:世界的真相_第九十六章 元念擴散器第五卷:真實的世界_第一百三十五章 嫌疑第五卷:真實的世界_第一百一十八章 進程第七卷:夢中的夢中_第一百九十七章 驚變第三卷:抵拒的覺醒_第四十六章 雲七海第三卷:抵拒的覺醒_第七十三章 沙丘上的危房第六卷:虛擬的現實_第一百六十章 御毒第三卷:抵拒的覺醒_第六十九章 妒火第六卷:虛擬的現實_第一百九十一章 神秘人第二卷:迷茫的揚帆_第三十五章 老千第二卷:迷茫的揚帆_第三十一章 開眼第四卷:世界的真相_第八十三章 糾纏第二卷:迷茫的揚帆_第三十三章 訓練第五卷:真實的世界_第一百二十八章 節外生枝第六卷:虛擬的現實_第一百六十六章 試卦第二卷:迷茫的揚帆_第二十八章 重逢第三卷:抵拒的覺醒_第六十九章 妒火第四卷:世界的真相_第八十二章 外卡