单例模式

就是始终是一个对象实例.它对外不提供构造函数,因此我们不能够同时产生多个对象.(常用语工具类,数据库连接类等等)

单例模式的调用:因为单例模式的构造方法是私有的,所以在其他类中我们是没有办法直接实例化它的.但是又因为她对外提供了一个获取类实例的方法,所以不论有多少类调用,他对外只可能产生一个类的实例

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

在People类中;创建静态私有对象p;创建getInstance()方法来返回对象p;其他类可以直接调用getInstance()方法获取对象p。

快加载单例模式

public class People{
    private static People p = new People();
    private People(){
    }
    public static People getInstance(){
        return p;
    }
}

  

慢加载单例模式

public class People{
   private static People p;
   private People(){

  }
    public static People getInstance(){
       if(p == null){
            p = new People();
        }
       return p;
   }
}
 

好处:减少系统资源的消耗.因为这种工具类基本上贯穿程序始终,必然会频繁调用.如果每一次调用都要重新生成实例,带来的就是 在内存堆中,分配一部分内存空间.所以这种模式会提高程序的运行速度,减少资源消耗

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄