- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编辑ppt 编辑ppt 编辑ppt 编辑ppt 编辑ppt 提高代码效率的方法 优化循环体 循环是比较重复运行的地方,如果循环次数很大,循环体内不好的代码对效率的影响就会被放大而变的突出。让我们看看下面的代码片:..Vector vect = new Vector(1000);...for( int i=0; i<vect.size(); i++){ ...}for循环部分改写成:int size = vect.size(); for( int i=0; i < size; i++){ ...}如果size=1000,就可以减少1000次size()的系统调用开销,避免了循环体重复调用。 未优化耗时:780309 优化后耗时:624430 少用NEW初始化一个实例 尽量少用new来初始化一个类的实例,当一个对象是用new进行初始化时,其构造函数链的所有构造函数都被调用到,所以new操作符是很消耗系统资源的,new一个对象耗时往往是局部变量赋值耗时的上千倍。同时,当生成对象后,系统还要花时间进行垃圾回收和处理。当new创建对象不可避免时,注意避免多次的使用new初始化一个对象。尽量在使用时再创建该对象。如:NewObject object = new NewObject();int value;if( i>0 ){ value =object.getValue();}修改为: int value;if ( i > 0 ){ NewObject object = new NewObject(); value =object.getValue();} 另外,应该尽量重复使用一个对象,而不是声明新的同类对象。一个重用对象的方法是改变对象的值,如可以通过setValue之类的方法改变对象的变量达到重用的目的。 在Java中,一切都是对象,如果有方法(Method)调用,处理器先要检查该方法是属于哪个对象,该对象是否有效,对象属于什么类型,然后选择合适的方法并调用。 可以减少方法的调用,同样一个方法: { int i = 0;...CallMethod(i); } public void CallMethod(int i ){ if( i ==0 ){ return; } ... // 其他处理} 可修改为: int i = 0;...if( i ==0 ){ CallMethod(i);}不影响可读性等情况下,可以把几个小的方法合成一个大的方法。另外,在方法前加上final,private关键字有利于编译器的优化 选择合适的方法调用 尽量使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。 其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。另外,依赖于 具体的编译器/JVM,局部变量还可能得到进一步优化。 例子: public class USER { private int _sum; private static int _staticSum; void getSum (int[] values) { for (int i=0; i < values.length; i++) { _sum += values[i]; // violation. } } } 更正: 如果可能,请使用局部变量作为你经常访问的变量。 你可以按下面的方法来修改getSum()方法: void getSum (int[] values) { int sum = _sum; // temporary local variable. for (int i=0; i < values.length; i++) { sum += values[i]; } _sum = sum; } STRING与STRINGBUFFER的使用技巧 1、字符串在JAVA中被广泛的使用,但是由于String 对象是不可改变的, 所以如果我们试图将两个String对象相加的时候,它实际的执行是产生一个中间对象StringBuffer,并调用它的append ()法来进行相加的,最后调用StringBufffer的toString()方法来返回一个Stri
您可能关注的文档
- IT部2015年度总结-2016年工作规划.ppt
- IT部门运维年终总结报告.ppt
- IT新城:班加罗尔.ppt
- JAT710型喷气织机报告.ppt
- JavaEE的发展与现状.ppt
- java期末复习提纲.ppt
- JEANS女装春夏产品开发企划方案.ppt
- JIT案例(推进拉动式生产可以参考).ppt
- KA系统操作指导手册.ppt
- 中国国家标准 GB/T 20871.12-2024有机发光二极管显示器件 第1-2部分:术语与文字符号.pdf
- GB/T 29324-2024架空导线用碳纤维增强复合材料芯.pdf
- 《GB/T 29324-2024架空导线用碳纤维增强复合材料芯》.pdf
- GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 《GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集》.pdf
- 中国国家标准 GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 中国国家标准 GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- 《GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范》.pdf
- GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
- 中国国家标准 GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
文档评论(0)