懒汉式: class Singleton { private static Singleton instance; // 进程辅助对象 private static Object syncRoot = new Object(); private Singleton() { } public static Singleton GetInstance() { // 双重锁定机制,多线程安全机制 // 只在实例未被创建的时候再加锁处理,同时也能保证多线程的安全 if ( null == instance ) { synchronized(syncRoot) { if ( null == instance ) { instance = new Singleton(); } } } return instance; } public static void main(String[] args) { System.out.println("Singleton1 class"); } } 饿汉式: class Singleton { private static Singleton instance = new Singleton(); private Singleton() { System.out.println("Singleton class"); } public static Singleton GetInstance() { return instance; } public static void main(String[] args) { System.out.println("Singleton3 class"); } }