饿汉式:
public class Singleton { private static Singleton s=new Singleton(); private Singleton(){}; //一个类只允许生产一次实例 public static Singleton getInstance(){ return s; } }
懒汉式:
public class Singleton { private static Singleton s; private Singleton(){}; //静态公开方法,获取当前类对象 public static Singleton getInstance(){ if (s==null){//双重校验式判断 synchronized (Singleton.class){ if (s==null){ s=new Singleton(); } } } return s; } }