1.引言
单元素的枚举类型已经成为实现Singleton的最佳方法
-- 出自 《effective java》
2.单例模式的特点
单例模式三个主要特点:
1、构造方法私有化;
2、实例化的变量引用私有化;
3、获取实例的方法共有。
3. 常用的单例模式
1.单例的饿汉模式
1 public class Singleton {
2 /*
3 * 利用静态变量来记录Singleton的唯一实例
4 * 直接初始化静态变量,这样就可以确保线程安全了
5 */
6 private static Singleton uniqueInstance = new Singleton();
7
8 /*
9 * 构造器私有化,只有Singleton类内才可以调用构造器
10 */
11 private Singleton(){
12
13 }
14
15 public static Singleton getInstance(){
16 return uniqueInstance;
17 }
18
19 }
2.懒汉的双重加锁机制
1 public class Singleton {
2 /*
3 * 利用静态变量来记录Singleton的唯一实例
4 * volatile 关键字确保:当uniqueInstance变量被初始化成Singleton实例时,