Java程序性能优化总结--------操作符篇

 

 使用移位操作来代替'a / b'操作 '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;       //
不能转换成位移操作
   }
}

 

 不要总是使用取反操作符(!)


取反操作符(!)降低程序的可读性,所以不要总是使用。

例子:
public class DUN {
   boolean method (boolean a, boolean b) {

       if (!a)
           return !a;
       else
           return !b;
   }
}


更正:
如果可能不要使用取反操作符(!)

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值