1,饿汉式
用静态成员在类装载的时候初始化。
2,votalize和双重检查加锁单例模式:懒汉式
if Syn if new
3,用静态内部类来实现单例,静态内部类只有在被调用到时才装载和初始化,因此直到调用getInstance时才调用这个静态内部类SingtonHolder.instance,此时初始化静态内部类SingtonHolder的静态变量instance为new Singleton()
4,单例和枚举
枚举本质上是功能齐全的类,可以有属性和方法。枚举是单例的泛型化。
推荐使用
public enum Singleton
{
instance;
public void singletonOperation();//类的方法
}