Java性能优化的一些总结(一):基础类型

标签: java 编程 优化


1.避免对boolean判断##

尝试去掉boolean与true的比较判断的代码

例:

if(str.endswith("a")==true){
}

if(str.endswith("a")){
}

2.用静态方法替代实例方法##

如果没有必要访问对象的外部,那么就让你的方法成为静态方法。静态方法会被更快的调用,因为它不需要一个虚拟函数导向表,该表用来告诉你如何区分方法的性质,调用这个方法不会改变对象的状态。

3.避免不必要的instanceof操作

4.避免子类存在父类转换

5.多使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都被保存在栈里面,因此读写速度较快。其他变量,如静态变量、实例变量,都在堆中被创建,也被保留在堆中,读取速度相对较慢。

局部变量访问速度远远高于类的成员变量。

6.使用位运算##

例:

  a*=2;
  //使用位运算
  a<<1;

7.一维数组与二维数组

一维数组和二维数组的访问速度不一样,二维数组的访问速度比一维数组快,但是二维数组需要占用更多的内存空间。

8.用布尔运算代替位运算

boolean a=false;
boolean b=false;
if(a&&b){
//当使用a&&b时,a已经为false,所以不会再计算剩余表达式
}

if(a&b){
//当使用a&b时,位运算总会计算所有表达式再给出最终结果
}

9.提取表达式优化##

  b1=a1*a2*a4/3*4*a3*a4;
  b2=a1*a2*a3/3*4*a3*a4;
  //优化
  
  combine=a1*a2/3*4*a3*a4;
  b1=combine*a4;
  b2=combine*a3;

10.尽量不要使用取反操作符(!)##

你可能感兴趣的:(Java性能优化的一些总结(一):基础类型)