8.java中的一些编程技巧

01. 优先使用局部变量

  • 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(heap)中创建,速度较慢
  • LocalvarBench

02. 位运算代替算数运算

  • 位运算是最为高效的。因此,可以尝试使用位运算代替部分算数运算,来提高系统的运行速度。最典型的就是对于整数的乘除运算优化。
  • BitMathBench

位运算与算数运算速度

03. 数组代替switch

  • switch并无性能可言
  • 数组替换switch可以对性能有一定的优化作用
  • SwitchBench
    数组代替Switch

04. 一维数组代替二维数组

  • 一维数组和二维数组的访问速度是不一样的。一维数组的访问速度要优于二维数组。因此,在性能敏感的系统中要使用二维数组的,可以尝试通过可靠的算法,将二维数组转为一维数组再进行处理,以提高系统的响应速度。
  • 在循环前预先取得数组长度,避免循环内每次都要读取数组长度
  • ArrayBench

05. 提取表达式

公共代码块提取出来,只计算一次,可以提高系统性能

06. 展开循环

  • 在极端情况下使用的优化手段,因为展开循环很可能会影响代码的可读性和可维护性,而这两者对软件系统来说也是极为重要的。但是当性能问题成为系统的主要矛盾时,展开循环绝对是一种值得尝试的优化技术
  • ExtractLoop

07. 布尔运算代替位运算

  • 在条件判断时,java会对布尔运算做相当充分的优化。假设有表达式a,b,c进行布尔运算"a&&b&&c",根据逻辑与的特点,只要在逻辑表达式中有一项返回false,整个表达式就返回false,因此,当表示a为false时,该表达式会立即返回false,而不会再去计算表达式b和c。若此时表达式b,c需要消耗巨大的系统资源,这种处理方式可以节省这些处理资源。
    布尔运算代替位运算

08. 使用arratCopy进行数组复制

arrayCopy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值