Java设计模式:单例设计模式

单例设计模式大多用来做工具类,又分为饿汉模式和懒汉模式

饿汉模式:

  1. 创建一个工具类,私有化构造器,防止外界新建对
  2. 在这个类中创建一个此类的私有静态变量实例
  3. 创建public静态方法,返回这个实例

好处:使用简单,不用考虑线程问题

缺点:当加载类时会初始化static也会加载到方法区,一直占用空间直到结束,无论是否用到这个实例

public class Until {
    
    private static Until instance = new Until();
    public static Until tool(){
        return instance;
    }
    public void run(){
        System.out.println("飞起来了");
    }
    private Until(){

    }
}
        Until u = Until.tool();
        Until s = Until.tool();
        System.out.println(u+""+s);//地址自然一样了
        u.run();
        s.run();//一般用单例设计模式用来创造工具类

懒汉模式:

  1. 私有构造器
  2. 创建此类的私有静态类
  3. 创建公共的静态方法,判断是否已经有此实例,如果有,返回实例,如果没有则new一个实例并返回

好处和坏处与饿汉模式相反,要考虑到县城问题,这里写的懒汉模式只是一个简易的,没有考虑到线程的问题,以后再进行修改;

 

public class Until {
    private static Until instance ;
    public static Until tool(){
        if(instance==null){
            instance =  new Until();
        }
        return instance;
    }
    public void run(){
        System.out.println("飞起来了");
    }
    private Until(){
    }
}

 

posted @ 2020-05-13 20:05  下冰雹的元气博客  阅读(66)  评论(0)    收藏  举报