简单且线程安全的两个单例模式java程序
/**
*具体说明见 http://www.cnblogs.com/coffee/archive/2011/12/05/inside-java-singleton.html
*/
package com.work.pattern; public class Singleton2 {
private static Singleton2 instance = new Singleton2(); private Singleton2(){ } public static Singleton2 getInstance(){ return instance; } }
/** * 基于内部类的单例模式 Lazy 线程安全 google IOC 中的方法 * 优点: * 1、线程安全 * 2、lazy * 缺点: * 1、待发现 * * @author laichendong * @since 2011-12-5 */ public class Singleton { /** * 内部类,用于实现lzay机制 */ private static class SingletonHolder{ /** 单例变量 */ private static Singleton instance = new Singleton(); } /** * 私有化的构造方法,保证外部的类不能通过构造器来实例化。 */ private Singleton() { } /** * 获取单例对象实例 * * @return 单例对象 */ public static Singleton getInstance() { return SingletonHolder.instance; } }