电话:0731-83595998
导航

Java程序性能优化(2)

来源: 2017-12-13 14:24

 中国IT实验室  2010/6/18    字号:T T

  八、如果只是查找单个字符的话,用charAt()代替startsWith()

  用一个字符作为参数调用startsWith()也会工作的很好,但从性能角度上来看,调用用String API无疑是错误的!

  例子

  public class PCTS {

  private void method(String s) {

  if (s.startsWith("a")) { // violation

  // ...

  }

  }

  }

  更正

  将'startsWith()' 替换成'charAt()'.

  public class PCTS {

  private void method(String s) {

  if ('a' == s.charAt(0)) {

  // ...

  }

  }

  }

  参考资料

  Dov Bulka, "Java Performance and Scalability Volume 1: Server-Side Programming

  Techniques"  Addison Wesley, ISBN: 0-201-70429-3

  九、使用移位操作来代替'a / b'操作

  "/"是一个很"昂贵"的操作,使用移位操作将会更快更有效。

  例子

  public class SDIV {

  public static final int NUM = 16;

  public void calculate(int a) {

  int div = a / 4;     // should be replaced with "a >> 2".

  int div2 = a / 8;    // should be replaced with "a >> 3".

  int temp = a / 3;

  }

  }

  更正

  public class SDIV {

  public static final int NUM = 16;

  public void calculate(int a) {

  int div = a >> 2;

  int div2 = a >> 3;

  int temp = a / 3;   // 不能转换成位移操作

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端