/**
*具体说明见 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;
}
}