当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

Java性能的十一个用法[Java编程]

赞助商链接



  本文“Java性能的十一个用法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
private static Credit BaseCredit = new Credit();public static Credit getNewCredit() {return (Credit) BaseCredit.clone();}

  Java语言习惯用语

  1.循环

  ■ 在重要的循环里,消除循环终止判断时的办法调用.

  比方:将

  for(int i=0; i<collection.size();i++){ ... }

  替换为…

  for(int i=0; n=collection.size();i<n;i++){...}

  ■ 普通,把与循环index不相关的移到循环的表面

  for(int i=0; terminal=x.length;i<terminal;i++){x[i] = x[i]/scaleA *scaleB;}

  应当该成:

  Double scale = scaleB*scaleA;for(int i=0; terminal=x.length;i<terminal;i++){x[i] = x[i]/scale ;}

  2.字符串

  ■ 消除字符串通接

  ■ 成立长字符串时,老是利用StringBuffter替换String

  ■ 预先分配StringBuffer空间 StringBuffer sb = new StringBuffer(5000);

  3.基本数据范例

  ■ 在重要的循环里利用基本数据范例(int型数据普通比long/double型数据更快)

  ■ 基本数据范例(Boolean,Integer,etc)的包装类主要用在当传送的办法参数必须是一个对象的引用时(而不是一个基本数据范例)

  ■ 对全部的常量代数表达式利用static final修饰符

  ■ 使常量更简单引用(编译器预先计算常量表达式)

  4.非常

  ■ 非常只用于单个真正的错误条件 如小说520网 www.5a520.cn 抛出非常时

  抛出一个非常和履行一个catch代码块耗费是很高的(主要由于当成立一个非常时要得到线程栈的一个快照)

  只当条件真的非常时才抛出一个非常

  ■ 抛出非常首先要成立一个新的对象.

  Throwable接口的构造函数调用名为fillInStackTrace()的本地(Native)办法,fillInStackTrace()办法查抄仓库,汇集调用跟踪信息.

  只要有非常被抛出,VM就必须调整调用仓库,因为在处理历程中成立了一个新的对象.

  非常只能用于错误处理,不该该用来掌握程序流程.

  ■ 使编译器和运行时最优化,将几个办法调用放在一个try/catch块中,而不是为每个办法调用实现几个try/catch块

  try{ Some.method1(); //Difficut for java1.4 }catch(method1Exception e){ handle exception 1 // to optimize this code } try{ Some.method2(); //Difficut for java1.4 }catch(method2Exception e){ handle exception 2 // to optimize this code } try{ Some.method3(); //Difficut for java1.4 }catch(method3Exception e){ handle exception 3 // to optimize this code }

  应当写为:

  try{ Some.method1(); Some.method2(); Some.method3(); //Difficut for java1.4 }catch(method1Exception e){ handle exception 1 }catch(method2Exception e){ handle exception 2 }catch(method3Exception e){ handle exception 3 }

  5.基准

  ■ 注意,全部这些本领会因差别的平台和虚拟机而差别

  一 比方:在有些servlet容器内,通过一个OutputStream作为字节输出会更快

  二 在别的的容器内,通过一个PrintWriter输出字符会更快

  ■ 这些本领描写的是最可移植的倡议

  ■ 你大概需求运行一些基准来判断在你的平台上怎么样是最快的

  6.不用new关键词成立类的实例

  ■用new关键词成立类的实例时,构造函数链中的全部构造函数城市被自动调用.

  但假如一个对象实现了Cloneable接口,我们可以调用它的clone()办法.clone()办法不会调用任何类构造函数.

  在利用计划情势(Design Pattern)的场所,假如用Factory情势成立对象,则改用clone()办法成立新的对象实例非常简单.

  比方,下面是Factory情势的一个典型实现:

  public static Credit getNewCredit() { return new Credit(); }

  优化后:

  private static Credit BaseCredit = new Credit(); public static Credit getNewCredit() { return (Credit) BaseCredit.clone();}

  上面的思绪关于数组处理一样很有效.


  以上是“Java性能的十一个用法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .