设计模式之单例模式(全局共用一个对象)

  单例模式,即每次获取的都是同一个对象,实现原理是构造方法私有化,保证本类之外不能进行new对象进行实例化,提供获取对象的静态方法,利用类名.方法名的方式获取对象;
  懒汉式:
    简单理解就是比较懒,需要用到对象的时候才去获取.懒汉式获取对象时可能会存在线程安全问题,可以使用synchronize关键字.

public class PersonalSingle {
    
    
	// 私有构造方法
   private PersonalSingle(){
    
    }
   // 私有静态变量
   private static PersonalSingle personalSingle;
   // 公有静态获取对象方法
   public static PersonalSingle getPersonalSingle(){
    
    
        if(personalSingle == null){
    
    
            personalSingle=new PersonalSingle();
        }
        return personalSingle;
    }

    public static void main(String[] args) {
    
    
      System.out.println(PersonalSingle.getPersonalSingle()==PersonalSingle.getPersonalSingle());  
         // 输出:true
    }

}

  饿汉式:
    简单理解是比较饿,相对于懒汉式是主动获取对象

public class PersonalSingEhan {
    
    
    private PersonalSingEhan(){
    
    }
    private static PersonalSingEhan personalSingEhan=new PersonalSingEhan();
    public static PersonalSingEhan getPersonalSingEhan(){
    
    
        return personalSingEhan;
    }

    public static void main(String[] args) {
    
    
        System.out.println(PersonalSingEhan.getPersonalSingEhan()== PersonalSingEhan.getPersonalSingEhan());
        // 输出:true
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43401380/article/details/115082172
今日推荐