第一种:懒汉式,饿了你就new一个对象。不安全。
第二种:懒汉式,安全
第三种:饿汉式,事先通过私有new出来一个对象,准备好,饿了你直接拿来吃。
第四种:饿汉式,事先再静态快下准备好,饿了你直接拿来吃。
第五种:静态内部类。可以理解成内部类是面向对象的闭包。
第六种:枚举,JDK1.5中才加入enum特性。它不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象。
第七种:双重校验锁,多线程常用。JDK1.5以后