Java优化

来源:互联网 发布:淘宝一分钱购物 编辑:程序博客网 时间:2024/06/10 18:47

避免创建不必要的对象

  • 避免自动装箱 示例
    Long sum = 1L
    for ( long i = 1;i < Integer.MAX_VALUE; i++)
    {
    sum+=i;
    }

    优化:将sum的声明从Long改成long

  • 重用对象
    示例:String s = new String(“stringMessage”);
    优化:String s = “stringMessage”;

  • 重用那些已知不会被修改的可变对象

public class Person{   private final Date birhDate;   public boolean isBadyBoomer(){    Calenday gmtCal = Calenday.getInstance(TimeZone.getTimeZone("GMT"));    gmtCal.set(1946,Calendar.JANUARY,1,0,0,0);    Date boomStart = gmtCal.getTime();    gmtCal.set(1965,Calenday.JANUARY,1,0,0,0);    Date boomEnd = gmtCal.getTime();    return birthDate.compareTo(boomStart) >= 0 && birthDate.compareTo(boomEnd) < 0;   }}优化:public class Person{   private final Date birhDate;   private static final Date BOOM_START;   private static final Date BOOM_END;    static{      Calenday gmtCal = Calenday.getInstance(TimeZone.getTimeZone("GMT"));      gmtCal.set(1946,Calendar.JANUARY,1,0,0,0);      BOOM_START = gmtCal.getTime();      gmtCal.set(1965,Calenday.JANUARY,1,0,0,0);      BOOM_END = gmtCal.getTime();    }   public boolean isBadyBoomer(){    return birthDate.compareTo(BOOM_START) >= 0 && birthDate.compareTo(BOOM_END) < 0;   }}
  • 消除过期的对象引用
  • -
原创粉丝点击