《大话java 性能优化》观后总结 ( 持续更新中..... )

一、面向对象
  1. 采用clone()方式创建对象
     clone()方法是Object类下方法,是对一个对象的拷贝,返回的是个新对象,而不是一个对象的引用地址;且这个拷贝包含了原来对象的信息,而不是对象的初始信息;clone()创建对象不会调用任何构造函数。
二、基本类型
  1.避免对boolean布尔类型判断
    有时候出于写代码习惯,习惯性思维想要对生成的数据进行判断,对于大多数的数据类型来说,这是正确的做法,但对于boolean变量,我们应该尽量避免不必要的等于判定。
   例如:
boolean flag = "hello".endsWith("o");
if(flag){}           // 推荐
//------------
if(flag == true){}   // 不推荐,执行速度比上面低,因为多了一次判断,且代码整体不够简洁

   2.多用条件运算符
   编写代码过程中经常会使用if-else用于判定,建议使用条件操作符,看起来更加简洁。
   例如:
  int  a = 0;
  if(true){a = 1;}
  else{a = 0; }
//--------
 int a = true ? 1 : 0; //推荐

  3.静态方法替代实例方法
    与静态方法相比,实例方法的调用需要消耗更多的系统资源,这是因为实例方法需要维护一张类似虚拟函数导向表的结构,这样可以方便地实现对多态的支持。对于一些常用的工具类方法,我们没必要将其进行重载,那么将声明为静态方法即可,这样有利于加速方法的调用。(注意:静态方法内部不能访问外部非静态的成员变量和方法)
4.建议多使用局部变量
   因为局部变量、临时变量都保存栈里,读写速度较快;而其他如静态变量、实例变量,都存在堆中被创建,也保存在那里,相对于栈里的数据,它的速度较慢
5.运算效率最高的方式--位运算

猜你喜欢

转载自mxl421204733.iteye.com/blog/2297959