//饿汉式 public class Singleton { private static final Singleton s = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return s; } } //懒汉式 class Singleton2{ private static Singleton2 s = null; private Singleton2(){ } public static synchronized Singleton2 getIntence(){ if(s==null){ s = new Singleton2(); } return s; } } //双重加锁检查 class Singleton3 { private static volatile Singleton3 s = null; private Singleton3() { } public static Singleton3 getInstance() { if (s == null) {//提高效率 synchronized (Singleton3.class) { if (s == null) { s = new Singleton3(); } } } return s; } }