**
创建单例模式要点
- 构造器私有化
- 用静态变量保存唯一实例
- 向外提供这个实例 (1) 直接暴露(2) 使用get方法获取
常见的几种形式
饿汉式: 直接创建对象,不存在线程安全问题
直接实例化
静态代码块创建(适合复杂的实例化)
懒汉式:延迟创建对象
线程安全(加锁)
静态内部类创建静态对象(线程安全)
静态内部类创建静态对象代码:
public class Singleton{
priate Singleton(){
}
private static class Inner{
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance(){
return Inner.INSTANCE ;
}
}