JAVA提高代码效率的方法.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

清风老月 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳春市惠兴图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA53BEWA2D

1亿VIP精品文档

相关文档