第一卷:宿命的召唤_第六章 不具合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)第七卷:梦中的梦中_第一百九十三章 拐点第六卷:虚拟的现实_第一百六十四章 赌卦第二卷:迷茫的扬帆_第二十五章 断点第六卷:虚拟的现实_第一百八十一章 败退第一卷:宿命的召唤_第十六章 除虫2第六卷:虚拟的现实_第一百五十六章 贩奴第六卷:虚拟的现实_第一百六十八章 避祸第六卷:虚拟的现实_第一百五十二章 新世界第六卷:虚拟的现实_第一百六十章 御毒第五卷:真实的世界_第一百一十七章 矩阵第四卷:世界的真相_第一百零一章 死亡预言第二卷:迷茫的扬帆_第三十章 我还是我第一卷:宿命的召唤_第十三章 墨非第六卷:虚拟的现实_第一百五十五章 官道第二卷:迷茫的扬帆_第三十七章 撒网(2)第四卷:世界的真相_第九十八章 断义第二卷:迷茫的扬帆_第三十七章 撒网(2)第六卷:虚拟的现实_第一百七十五章 恶战第一卷:宿命的召唤_第十一章 科学边界第四卷:世界的真相_第八十一章 意外第七卷:梦中的梦中_第一百九十六章 反讽第六卷:虚拟的现实_第一百六十六章 试卦第六卷:虚拟的现实_第一百六十九章 残酷世界第三卷:抵拒的觉醒_第六十八章 提前协议第六卷:虚拟的现实_第一百八十一章 败退第四卷:世界的真相_第一百零二章 保护第五卷:真实的世界_第一百三十八章 警报第七卷:梦中的梦中_第一百九十四章 回路第二卷:迷茫的扬帆_第四十五章 死与生第六卷:虚拟的现实_第一百八十八章 一波又起第六卷:虚拟的现实_第一百五十八章 恶斗第四卷:世界的真相_第八十五章 抉择第二卷:迷茫的扬帆_第四十五章 死与生第五卷:真实的世界_第一百三十四章 揣测第二卷:迷茫的扬帆_第二十七章 转机(2)第五卷:真实的世界_第一百一十五章 融合第六卷:虚拟的现实_第一百五十六章 贩奴第二卷:迷茫的扬帆_第三十八章 收线(1)第三卷:抵拒的觉醒_第七十二章 因果链第五卷:真实的世界_第一百一十一章 起源(2)第三卷:抵拒的觉醒_第七十五章 崩溃第五卷:真实的世界_第一百二十二章 特殊身份第三卷:抵拒的觉醒_第六十七章 拒绝第六卷:虚拟的现实_第一百八十二章 夜战第一卷:宿命的召唤_第十八章 评级2第三卷:抵拒的觉醒_第六十七章 拒绝第一卷:宿命的召唤_第二十二章 命运第二卷:迷茫的扬帆_第三十六章 撒网(1)第四卷:世界的真相_第一百章 自戕第五卷:真实的世界_第一百一十四章 赵彦兮第五卷:真实的世界_第一百一十章 起源(1)第六卷:虚拟的现实_第一百七十一章 临战第六卷:虚拟的现实_第一百六十七章 慎始第六卷:虚拟的现实_第一百六十八章 避祸第二卷:迷茫的扬帆_第三十二章 异梦第三卷:抵拒的觉醒_第六十二章 判断第六卷:虚拟的现实_第一百七十八章 反击第三卷:抵拒的觉醒_第五十九掌 堕落第七卷:梦中的梦中_第一百九十三章 拐点第三卷:抵拒的觉醒_第五十二章 阴云第六卷:虚拟的现实_第一百七十四章 攻城第六卷:虚拟的现实_第一百七十章 武北凉第六卷:虚拟的现实_第一百九十章 耳鼠王第一卷:宿命的召唤_第十七章 评级1第六卷:虚拟的现实_第一百五十八章 恶斗第六卷:虚拟的现实_第一百六十四章 赌卦第六卷:虚拟的现实_第一百七十章 武北凉第五卷:真实的世界_第一百三十六章 一石二鸟第一卷:宿命的召唤_第二章 苏菲第四卷:世界的真相_第八十七章 移情第三卷:抵拒的觉醒_第四十七章 三个预言第一卷:宿命的召唤_第八章 黑锅第五卷:真实的世界_第一百二十三章 明修栈道第四卷:世界的真相_第一百零一章 死亡预言第六卷:虚拟的现实_第一百八十四章 新力量第六卷:虚拟的现实_第一百八十七章 解围第五卷:真实的世界_第一百四十三章 委员扩大会议第六卷:虚拟的现实_第一百七十六章 挣扎第五卷:真实的世界_第一百三十九章 待援第五卷:真实的世界_第一百二十七章 平衡第五卷:真实的世界_第一百一十八章 进程第五卷:真实的世界_第一百一十四章 赵彦兮第五卷:真实的世界_第一百一十三章 航行日志第五卷:真实的世界_第一百一十章 起源(1)第五卷:真实的世界_第一百二十一章 委员会第六卷:虚拟的现实_第一百八十一章 败退第六卷:虚拟的现实_第一百六十八章 避祸第六卷:虚拟的现实_第一百九十二章 公子献头第五卷:真实的世界_第一百三十八章 警报