昨天写了这样一段处理xml的代码,处理系统返回的结果,最后居然导致系统死慢死慢的,我百思不得其解,到底是Document类处理的问题呢?还是数据过多?
private void formatResults(Condition condition) {
NodeList results = doc.getElementsByTagName("result");
try {
for (int i = 0; i < results.getLength(); i++) {
expr = xpath.compile("child::binding[@name='"
+ condition.patternPara + "']");
Node node = results.item(i);
Node e1 = (Node) expr.evaluate(node, XPathConstants.NODE);
node.removeChild(e1);
}
} catch (XPathExpressionException e) {
e.printStackTrace();
}
}
就这样一段简单的代码~
最后终于。。请教了同事,一眼看出了问题
expr = xpath.compile("child::binding[@name='"
+ condition.patternPara + "']");
这一句是速度低的关键!!!!!
原来是每进入循环一次,就执行一次xpath的编译,这样如何能不慢!!!
将其移除到循环外后,速度上去多了~
我想,在我的代码中很可能还存在着很多类似的问题,每天不停的写代码,马不停蹄的赶工。学生时代赶作业稀里糊涂完成功能的习惯没有改掉。敲代码的时候,更多的是一种习惯和经验,这个应该这样写,应该那样写。作为一个程序员,应该严谨一些,这种低级错误必须杜绝。以后写循环的时候,一定要三思,记得循环的次数是不可控的,你写一句它就有可能执行N次!
一定要养成良好的编程习惯,完成任务之余多斟酌一下自己的代码!
分享到:
相关推荐
如何学python(李三思)
上海新三思是一家可能专注于材料测试设备和软件开发的公司,"拉力机"是他们提供的硬件设备,"POWERTEST"是其配套的软件,"三思"可能是指公司的品牌或产品系列,而"试验机"则表明该软件是用于各种力学性能测试的。...
2012.9.Oracle三思笔记合集,供大家下载学习。压缩包里共32个PDF或DOC文件,都是整理版的,非常好阅读,谁下谁知道。 [三思笔记]drbd入门与应用.pdf [三思笔记]Linux5版本安装Oracle11gR2.pdf [三思笔记]Linux平台...
三思笔记之涂抹ORACLE PDF版 三思笔记之涂抹ORACLE PDF版 三思笔记之涂抹ORACLE PDF版 三思笔记之涂抹ORACLE PDF版 三思笔记之涂抹ORACLE PDF版
三思oracle笔记包 包含: Linux5版本安装Oracle11gR2 ORACLE 10gR2 RAC环境增加及删除节点 Oracle+RAC数据库配置DataGuard RMAN管理ORACLE_RAC数据库的备份与恢复 全面学习MySQL+Proxy特性 全面学习分区表及分区索引...
通过阅读“三思笔记”中的相关内容,DBA们可以系统地学习Oracle函数的用法,从而更好地应对日常的数据库挑战。无论是处理数据转换、分析大量数据还是解决特定问题,这些函数都能提供强大的工具支持。因此,深入理解...
exe文件封装软件是开发者常用的一款站长工具,推荐使用三思安装包制作工具 三思安装包制作工具是一款程序压制工具,可以将任何程序封装为EXE,有了它你就可以把自己的一些比较零散的安装程度打个包,这样不仅便于...
在“一步一步学RMAN 三思笔记”这个资料中,你将深入了解到如何有效利用RMAN来保护你的Oracle数据库,确保数据的安全性和可用性。 一、RMAN的基础概念 1. RMAN备份类型:包括全备份、增量备份和差异备份。全备份会...
在《登泰山记》这一课例中,深度学习体现在“三思”课堂的实践中,即“勤思”、“善思”和“多思”,旨在促进学生主动探索、批判性思考和创新。 【“三思”课堂实践】是指通过设计不同的教学环节,引导学生对文本...
涂抹Oracle 三思笔记之一步一步学Oracle(第2部分)
《涂抹Oracle—三思笔记之一步一步学Oracle》很好的学习oracle书籍,值得一看
三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思笔记Rman。三思...
三思笔记,itpub版主(著有涂抹oracle)整理的oracle学习笔记,图文并茂。 个人在itpub中将:Linux5版本安装Oracle11gR2、全面学习分区表及分区索引、一步一步学rman、全面学习oracle的flashback特性、手把手教你用...
3. **字符串函数**:如LENGTH()计算字符串长度,SUBSTR()截取子串,UPPER()和LOWER()转换大小写,CONCAT()连接字符串,REPLACE()替换子串。这些函数在处理文本数据时不可或缺。 4. **转换函数**:TO_CHAR()和TO_...
资源名称:涂抹Oracle--三思笔记之一步一步学Oracle内容简介:本书作为一本创作之初就定位于技术应用的实践参考书,虽然前前后后串联了Oracle数据库中十余个常用特性或工具,但在章节的设计上完全遵循这一理念。...
本书作为一本创作之初就定位于技术应用的实践参考书,虽然前前后后串联了Oracle数据库中十余个常用特性或工具,但在章节的设计上完全遵循这一理念。在涉及特性或工具应用的每一个章节,均有相关实例演示如何应用,...
标题和描述均提到了“君三思-动态性能表(1-20).pdf”,这表明文档内容聚焦于Oracle数据库的动态性能管理,具体来说,是通过v$sysstat视图来监控和分析实例级别的资源使用情况。标签“动态性能 君三思”进一步强调了...