位运算代替乘除法

在所有的运算中,位运算是最为高效的。因此,可以尝试使用位运算代替部分算术运算,来提高系统的运行速度。

比如在HashMap的源码中使用了位运算

static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16  static final int MAXIMUM_CAPACITY = 1 << 30;

对于整数的乘除运算优化

a*=2  a/=2

用位运算可以写为

a<<=1a>>=1