第一卷:宿命的召唤_第六章 不具合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定义的上限值前就跳出循环了,怎么可能一直进行下去?”

(本章完)

第五卷:真实的世界_第一百二十七章 平衡第一卷:宿命的召唤_第二十二章 命运第二卷:迷茫的扬帆_第三十八章 收线(1)第一卷:宿命的召唤_第十九章螃蟹第六卷:虚拟的现实_第一百七十章 武北凉第六卷:虚拟的现实_第一百五十五章 官道第六卷:虚拟的现实_第一百六十九章 残酷世界第一卷:宿命的召唤_第二十二章 命运第四卷:世界的真相_第一百零五章 斩首第五卷:真实的世界_第一百五十章 特13服第二卷:迷茫的扬帆_第四十章 大开杀戒第三卷:抵拒的觉醒_第七十三章 沙丘上的危房第五卷:真实的世界_第一百二十一章 委员会第六卷:虚拟的现实_第一百九十章 耳鼠王第七卷:梦中的梦中_第一百九十八章 摊牌第六卷:虚拟的现实_第一百七十五章 恶战第五卷:真实的世界_第一百四十三章 委员扩大会议第四卷:世界的真相_第九十七章 割袍第四卷:世界的真相_第九十六章 元念扩散器第三卷:抵拒的觉醒_第七十三章 沙丘上的危房第三卷:抵拒的觉醒_第四十九章 警告第六卷:虚拟的现实_第一百八十四章 新力量第四卷:世界的真相_第七十七章 各取所需第三卷:抵拒的觉醒_第七十二章 因果链第二卷:迷茫的扬帆_第三十四章 决意第二卷:迷茫的扬帆_第二十七章 转机(2)第一卷:宿命的召唤_第五章 约定第六卷:虚拟的现实_第一百九十章 耳鼠王第四卷:世界的真相_第一百零五章 斩首第六卷:虚拟的现实_第一百八十七章 解围第一卷:宿命的召唤_第一章 画中仙第五卷:真实的世界_第一百四十一章 合理解释第一卷:宿命的召唤_第十五章 除虫1第四卷:世界的真相_第一百零五章 斩首第六卷:虚拟的现实_第一百五十六章 贩奴第三卷:抵拒的觉醒_第七十一章 鸿沟第六卷:虚拟的现实_第一百六十七章 慎始第二卷:迷茫的扬帆_第三十九章 收线(2)第六卷:虚拟的现实_第一百六十八章 避祸第一卷:宿命的召唤_第二十二章 命运第四卷:世界的真相_第一百零八章 又见画中仙第六卷:虚拟的现实_第一百八十五章 精粮诱饵第四卷:世界的真相_第八十八章 度假第六卷:虚拟的现实_第一百五十八章 恶斗第六卷:虚拟的现实_第一百八十七章 解围第五卷:真实的世界_第一百三十二章 苦心第六卷:虚拟的现实_第一百七十四章 攻城第一卷:宿命的召唤_第五章 约定第三卷:抵拒的觉醒_第七十章 报复第一卷:宿命的召唤_第十一章 科学边界第二卷:迷茫的扬帆_第二十七章 转机(2)第二卷:迷茫的扬帆_第三十六章 撒网(1)第六卷:虚拟的现实_第一百八十四章 新力量第二卷:迷茫的扬帆_第三十三章 训练第二卷:迷茫的扬帆_第二十六章 转机(1)第一卷:宿命的召唤_第七章 不具合2第二卷:迷茫的扬帆_第四十一章 舌战第六卷:虚拟的现实_第一百七十八章 反击第五卷:真实的世界_第一百一十七章 矩阵第五卷:真实的世界_第一百四十七章 公投第四卷:世界的真相_第一百章 自戕第一卷:宿命的召唤_第十五章 除虫1第二卷:迷茫的扬帆_第四十四章 平流雾第五卷:真实的世界_第一百三十四章 揣测第七卷:梦中的梦中_第一百九十五章 初见第一卷:宿命的召唤_第五章 约定第六卷:虚拟的现实_第一百八十五章 精粮诱饵第五卷:真实的世界_第一百三十八章 警报第二卷:迷茫的扬帆_第二十九章 屈辱第六卷:虚拟的现实_第一百六十六章 试卦第一卷:宿命的召唤_第十六章 除虫2第六卷:虚拟的现实_第一百八十一章 败退第五卷:真实的世界_第一百一十七章 矩阵第一卷:宿命的召唤_第六章 不具合1第四卷:世界的真相_第一百零三章 一诺第六卷:虚拟的现实_第一百七十三章 兵临城下第五卷:真实的世界_第一百三十九章 待援第三卷:抵拒的觉醒_第五十七章 凶手就是我第五卷:真实的世界_第一百四十六章 唇枪舌战第一卷:宿命的召唤_第十六章 除虫2第六卷:虚拟的现实_第一百六十三章 枉叹第七卷:梦中的梦中_第一百九十三章 拐点第三卷:抵拒的觉醒_第六十六章 去执着第一卷:宿命的召唤_第十章 牛教授第四卷:世界的真相_第一百零二章 保护第六卷:虚拟的现实_第一百八十五章 精粮诱饵第一卷:宿命的召唤_第十四章 饵第三卷:抵拒的觉醒_第四十九章 警告第一卷:宿命的召唤_第四章 试探2第三卷:抵拒的觉醒_第七十章 报复第五卷:真实的世界_第一百一十五章 融合第三卷:抵拒的觉醒_第六十四章 请教第五卷:真实的世界_第一百四十八章 弹劾第二卷:迷茫的扬帆_第二十九章 屈辱第七卷:梦中的梦中_第一百九十三章 拐点第二卷:迷茫的扬帆_第四十一章 舌战第四卷:世界的真相_第一百零三章 一诺第一卷:宿命的召唤_第十章 牛教授第五卷:真实的世界_第一百三十三章 枫夕香第三卷:抵拒的觉醒_第五十章 第一个死者
第五卷:真实的世界_第一百二十七章 平衡第一卷:宿命的召唤_第二十二章 命运第二卷:迷茫的扬帆_第三十八章 收线(1)第一卷:宿命的召唤_第十九章螃蟹第六卷:虚拟的现实_第一百七十章 武北凉第六卷:虚拟的现实_第一百五十五章 官道第六卷:虚拟的现实_第一百六十九章 残酷世界第一卷:宿命的召唤_第二十二章 命运第四卷:世界的真相_第一百零五章 斩首第五卷:真实的世界_第一百五十章 特13服第二卷:迷茫的扬帆_第四十章 大开杀戒第三卷:抵拒的觉醒_第七十三章 沙丘上的危房第五卷:真实的世界_第一百二十一章 委员会第六卷:虚拟的现实_第一百九十章 耳鼠王第七卷:梦中的梦中_第一百九十八章 摊牌第六卷:虚拟的现实_第一百七十五章 恶战第五卷:真实的世界_第一百四十三章 委员扩大会议第四卷:世界的真相_第九十七章 割袍第四卷:世界的真相_第九十六章 元念扩散器第三卷:抵拒的觉醒_第七十三章 沙丘上的危房第三卷:抵拒的觉醒_第四十九章 警告第六卷:虚拟的现实_第一百八十四章 新力量第四卷:世界的真相_第七十七章 各取所需第三卷:抵拒的觉醒_第七十二章 因果链第二卷:迷茫的扬帆_第三十四章 决意第二卷:迷茫的扬帆_第二十七章 转机(2)第一卷:宿命的召唤_第五章 约定第六卷:虚拟的现实_第一百九十章 耳鼠王第四卷:世界的真相_第一百零五章 斩首第六卷:虚拟的现实_第一百八十七章 解围第一卷:宿命的召唤_第一章 画中仙第五卷:真实的世界_第一百四十一章 合理解释第一卷:宿命的召唤_第十五章 除虫1第四卷:世界的真相_第一百零五章 斩首第六卷:虚拟的现实_第一百五十六章 贩奴第三卷:抵拒的觉醒_第七十一章 鸿沟第六卷:虚拟的现实_第一百六十七章 慎始第二卷:迷茫的扬帆_第三十九章 收线(2)第六卷:虚拟的现实_第一百六十八章 避祸第一卷:宿命的召唤_第二十二章 命运第四卷:世界的真相_第一百零八章 又见画中仙第六卷:虚拟的现实_第一百八十五章 精粮诱饵第四卷:世界的真相_第八十八章 度假第六卷:虚拟的现实_第一百五十八章 恶斗第六卷:虚拟的现实_第一百八十七章 解围第五卷:真实的世界_第一百三十二章 苦心第六卷:虚拟的现实_第一百七十四章 攻城第一卷:宿命的召唤_第五章 约定第三卷:抵拒的觉醒_第七十章 报复第一卷:宿命的召唤_第十一章 科学边界第二卷:迷茫的扬帆_第二十七章 转机(2)第二卷:迷茫的扬帆_第三十六章 撒网(1)第六卷:虚拟的现实_第一百八十四章 新力量第二卷:迷茫的扬帆_第三十三章 训练第二卷:迷茫的扬帆_第二十六章 转机(1)第一卷:宿命的召唤_第七章 不具合2第二卷:迷茫的扬帆_第四十一章 舌战第六卷:虚拟的现实_第一百七十八章 反击第五卷:真实的世界_第一百一十七章 矩阵第五卷:真实的世界_第一百四十七章 公投第四卷:世界的真相_第一百章 自戕第一卷:宿命的召唤_第十五章 除虫1第二卷:迷茫的扬帆_第四十四章 平流雾第五卷:真实的世界_第一百三十四章 揣测第七卷:梦中的梦中_第一百九十五章 初见第一卷:宿命的召唤_第五章 约定第六卷:虚拟的现实_第一百八十五章 精粮诱饵第五卷:真实的世界_第一百三十八章 警报第二卷:迷茫的扬帆_第二十九章 屈辱第六卷:虚拟的现实_第一百六十六章 试卦第一卷:宿命的召唤_第十六章 除虫2第六卷:虚拟的现实_第一百八十一章 败退第五卷:真实的世界_第一百一十七章 矩阵第一卷:宿命的召唤_第六章 不具合1第四卷:世界的真相_第一百零三章 一诺第六卷:虚拟的现实_第一百七十三章 兵临城下第五卷:真实的世界_第一百三十九章 待援第三卷:抵拒的觉醒_第五十七章 凶手就是我第五卷:真实的世界_第一百四十六章 唇枪舌战第一卷:宿命的召唤_第十六章 除虫2第六卷:虚拟的现实_第一百六十三章 枉叹第七卷:梦中的梦中_第一百九十三章 拐点第三卷:抵拒的觉醒_第六十六章 去执着第一卷:宿命的召唤_第十章 牛教授第四卷:世界的真相_第一百零二章 保护第六卷:虚拟的现实_第一百八十五章 精粮诱饵第一卷:宿命的召唤_第十四章 饵第三卷:抵拒的觉醒_第四十九章 警告第一卷:宿命的召唤_第四章 试探2第三卷:抵拒的觉醒_第七十章 报复第五卷:真实的世界_第一百一十五章 融合第三卷:抵拒的觉醒_第六十四章 请教第五卷:真实的世界_第一百四十八章 弹劾第二卷:迷茫的扬帆_第二十九章 屈辱第七卷:梦中的梦中_第一百九十三章 拐点第二卷:迷茫的扬帆_第四十一章 舌战第四卷:世界的真相_第一百零三章 一诺第一卷:宿命的召唤_第十章 牛教授第五卷:真实的世界_第一百三十三章 枫夕香第三卷:抵拒的觉醒_第五十章 第一个死者