提高代码效率的方法.ppt

提高代码效率的方法.ppt

ID:50099167

大小:329.00 KB

页数:41页

时间:2020-03-08

提高代码效率的方法.ppt_第1页
提高代码效率的方法.ppt_第2页
提高代码效率的方法.ppt_第3页
提高代码效率的方法.ppt_第4页
提高代码效率的方法.ppt_第5页
资源描述:

《提高代码效率的方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、提高代码效率的方法山水瑞通网络科技有限责任公司优化循环体循环是比较重复运行的地方,如果循环次数很大,循环体内不好的代码对效率的影响就会被放大而变的突出。让我们看看下面的代码片:..Vectorvect=newVector(1000); ... for(inti=0;i<vect.size();i++){... } for循环部分改写成:intsize=vect.size();for(inti=0;i<size;i++){... }如果size=1000,就可以减少1000次size()的系统调用开销,避免了循环体重复调用。少用new初始化一个实例尽

2、量少用new来初始化一个类的实例,当一个对象是用new进行初始化时,其构造函数链的所有构造函数都被调用到,所以new操作符是很消耗系统资源的,new一个对象耗时往往是局部变量赋值耗时的上千倍。同时,当生成对象后,系统还要花时间进行垃圾回收和处理。 当new创建对象不可避免时,注意避免多次的使用new初始化一个对象。 尽量在使用时再创建该对象。如:NewObjectobject=newNewObject();intvalue;if(i>0) {value=object.getValue(); }少用new初始化一个实例上面一段代码可以修改为:int

3、value;if(i>0) {NewObjectobject=newNewObject();Value=object.getValue(); }另外,应该尽量重复使用一个对象,而不是声明新的同类对象。一个重用对象的方法是改变对象的值,如可以通过setValue之类的方法改变对象的变量达到重用的目的。在Java中,一切都是对象,如果有方法(Method)调用,处理器先要检查该方法是属于哪个对象,该对象是否有效,对象属于什么类型,然后选择合适的方法并调用。可以减少方法的调用,同样一个方法:publicvoidCallMethod(inti){if(i==

4、0){return;}...//其他处理}如果直接调用inti=0; ...CallMethod(i);选择合适的方法调用选择合适的方法调用上面的代码,就应该写成:inti=0; ... if(i==0){CallMethod(i); }不影响可读性等情况下,可以把几个小的方法合成一个大的方法。 另外,在方法前加上final,private关键字有利于编译器的优化。尽量使用局部变量调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。另外,依赖于具

5、体的编译器/JVM,局部变量还可能得到进一步优化。尽量使用局部变量例子:publicclassUSV{privateint_sum;privatestaticint_staticSum;voidgetSum(int[]values){for(inti=0;i

6、你经常访问的变量。你可以按下面的方法来修改getSum()方法:voidgetSum(int[]values){intsum=_sum;//temporarylocalvariable.for(inti=0;i

7、法来进行相加的,最后调用StringBufffer的toString()方法来返回一个String的对象,如果只是一般的相加差别不大,但是如果是在循环中,性能差距就较明显注:Strings=“a”+“b”+“c”,实际上在编译后是Strings=“abc”,执行时不存在相加问题2、在字符串相加的时候,如果该字符串只有一个字符的话如:Stringstr=s+“d”应该换作string=s+‘d’来执行。3、由于在创建一个StringBuffer对象时,StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小

8、,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,如果可以的话

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。