//内部类实现懒汉式
public class Singleton {
private static class SingletonHolder{
//单例变量
private static Singleton instance = new Singleton();
}
//私有化的构造方法,保证外部的类不能通过构造器来实例化。
private Singleton() {
}
//获取单例对象实例
public static Singleton getInstance() {
System.out.println("我是内部类单例!");
return SingletonHolder.instance;
}
}
懒汉式(避免上面的资源浪 费)、线程安全、代码简单。因为java机制规定,内部类SingletonHolder只有在getInstance()方法第一次调用的时候才会被加 载(实现了lazy),而且其加载过程是线程安全的(实现线程安全)。内部类加载的时候实例化一次instance。
http://blog.csdn.net/liushuijinger/article/details/9069801