单例模式:保证软件在运行时,某个类在内存中只有一个对象
方式一:
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; } } }