写For时请三思再三思
昨天写了这样一段处理xml的代码,处理系统返回的结果,最后居然导致系统死慢死慢的,我百思不得其解,到底是Document类处理的问题呢?还是数据过多?
?
?
expr = xpath.compile("child::binding[@name='"+ condition.patternPara + "']");
这一句是速度低的关键!!!!!?
原来是每进入循环一次,就执行一次xpath的编译,这样如何能不慢!!!
将其移除到循环外后,速度上去多了~
?
我想,在我的代码中很可能还存在着很多类似的问题,每天不停的写代码,马不停蹄的赶工。学生时代赶作业稀里糊涂完成功能的习惯没有改掉。敲代码的时候,更多的是一种习惯和经验,这个应该这样写,应该那样写。作为一个程序员,应该严谨一些,这种低级错误必须杜绝。以后写循环的时候,一定要三思,记得循环的次数是不可控的,你写一句它就有可能执行N次!
?
一定要养成良好的编程习惯,完成任务之余多斟酌一下自己的代码!
?
?
?
1 楼 仅此而已 2011-08-12 我觉得这句results.getLength(); 也应该拿出来放到变量里。 减少资源浪费!