单例模式:保证软件在运行时,某个类在内存中只有一个对象

方式一:

 1 public class Singleton{
 2     //1、构造方法私有化
 3    private Singleton(){
 4 
 5     }
 6     //2、 创建当前类的引用,用volatile 修饰
 7     private static Singleton s=new Singleton();
 8 
 9     //3.创建公共的同步的方法,将对象暴露给外部
10     public static Singleton getInstance(){
11        return s;
12     }
13 }

 

方式二:

public class Singleton{
    //1、构造方法私有化
   private Singleton(){

    }
    //2、 创建当前类的引用,用volatile 修饰
    private volatile static Singleton s=null;

    //3.创建公共的同步的方法,将对象暴露给外部
    public synchronized static Singleton getInstance(){
       if(s==null){
          s=new Singleton();
       }else{
       return s; 
       }
    }
}

 

posted on 2018-12-07 14:08  逛园子$$$  阅读(80)  评论(0)    收藏  举报