项目开发积累
2014-11-14 16:38
162 查看
一、开发优化:
1、尽量做到不要在循环中去访问数据库中的东西或者向数据库中添加数据;循环中尽量做到处理逻辑的单一性或简洁性,最大限度的提高系统的性能;
2、尽量减少循环中或者循环体中不必要的循环计算或者不相关的计算以及操作,例如:
for(int i=0;i<list.size();i++){...}改为int size=list.size();for(int i=0;i<size;i++)
for(int i=0;i<size;i++){ int num=a+b;...}改为int num=a+b;for(int i=0;i<size;i++){...}
3、嵌套循环,如果可以的话,最好将大循环放内部,小循环放外部。
for(int i=0;i<10;i++){
for(int j=0;j<100;j++){
......
}
}
4、循环体内最好不要创建对象。例如:
for(int i=0;i<size;i++){ Person p = new Person(); },这样会在内存存在size份对应的Person对象,改为:
Person p=null; for(int i=0;i<size;i++){ p=new Person();}这样在内存中就只存在一份Person对象,因此没次创建的对象都是赋给循环外所声明的这个对象变量,让该变量指向新创建对象的地址。
5、避免在循环里面进行文件读写操作。
6、不要将try{...}catch{...}finally{...}放到循环里面,这样会极大的影响性能。将影响达20%多的性能。将try{...}catch{...}语句提取到循环的外部,将循环放到try{...}语句块中去。
7、不要在循环中调用同步方法或者使用synchronized关键字。如有必要,将同步块提取到循环外部。
8、try{}catch{}finally{}的逻辑也尽量做到简洁,不要过于臃肿;
9、方法内部中的MaxComplexity不要超过10;即if语句不要超过10个,如果超过10个了最好是提成一个新的方法;
10、使用arraycopy()复制数组要比通过循环来复制数组快的多。
1、尽量做到不要在循环中去访问数据库中的东西或者向数据库中添加数据;循环中尽量做到处理逻辑的单一性或简洁性,最大限度的提高系统的性能;
2、尽量减少循环中或者循环体中不必要的循环计算或者不相关的计算以及操作,例如:
for(int i=0;i<list.size();i++){...}改为int size=list.size();for(int i=0;i<size;i++)
for(int i=0;i<size;i++){ int num=a+b;...}改为int num=a+b;for(int i=0;i<size;i++){...}
3、嵌套循环,如果可以的话,最好将大循环放内部,小循环放外部。
for(int i=0;i<10;i++){
for(int j=0;j<100;j++){
......
}
}
4、循环体内最好不要创建对象。例如:
for(int i=0;i<size;i++){ Person p = new Person(); },这样会在内存存在size份对应的Person对象,改为:
Person p=null; for(int i=0;i<size;i++){ p=new Person();}这样在内存中就只存在一份Person对象,因此没次创建的对象都是赋给循环外所声明的这个对象变量,让该变量指向新创建对象的地址。
5、避免在循环里面进行文件读写操作。
6、不要将try{...}catch{...}finally{...}放到循环里面,这样会极大的影响性能。将影响达20%多的性能。将try{...}catch{...}语句提取到循环的外部,将循环放到try{...}语句块中去。
7、不要在循环中调用同步方法或者使用synchronized关键字。如有必要,将同步块提取到循环外部。
8、try{}catch{}finally{}的逻辑也尽量做到简洁,不要过于臃肿;
9、方法内部中的MaxComplexity不要超过10;即if语句不要超过10个,如果超过10个了最好是提成一个新的方法;
10、使用arraycopy()复制数组要比通过循环来复制数组快的多。
相关文章推荐
- OpenCV C++ 项目开发 知识点积累
- 项目开发积累(技术)
- 软件项目开发实践中需要积累哪些知识
- iOS开发-项目 知识分享与经验积累(一)
- 在浙江杭州快速开发公司内部办公自动化OA系统的经验总结(有成熟的后台配置工具、开发平台、程序员朋友圈还真不错,做软件项目还得靠积累才稳妥)
- 最近进行项目开发积累的一些编程经验
- 没头没尾--项目开发笔记:如何开发代码更新工具?!(上)
- 职教系统项目开发手册(五)
- 没头没尾--项目开发笔记:怎样选择项目开发语言?!
- 没头没尾--项目开发笔记:最后的笔记
- 关于我们的思考——“项目开发”及读《人月神话》有感
- 没头没尾--项目开发笔记:项目问题的阶段性总结,下一步…………
- 微软项目管理软件的二次开发
- 企业应用开发和开放源码项目
- 职教考评系统项目开发手册(一)
- 职教系统项目开发手册(四)
- 没头没尾--项目开发笔记:分模块开发!!?? 分层开发!!??
- 没头没尾--项目开发笔记:先开发UI层还是先开发BusinessRules层!!??
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)