创建型设计模式-单例模式
Java中单例模式是一种广泛使用的设计模式。
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
- 饿汉式
public class Singleton {private static final Singleton INSTANCE = new Singleton();private Singleton(){}public static Singleton getInstance(){return INSTANCE;}
}
- 懒汉式
class Singleton{private static Singleton instance;private Singleton(){}public static synchronized Singleton getInstance(){if (instance == null){instance = new Singleton();}return instance;}
}
- 双重检查锁定
class Singleton{private static volatile Singleton instance;private Singleton(){}public static Singleton getInstance(){if (instance == null){synchronized (Singleton.class){if (instance == null){instance = new Singleton();}}}return instance;}
}
- 静态内部类
class Singleton{private Singleton(){}private static class SingletonHolder{private static final Singleton INSTANCE = new Singleton();}public static Singleton getInstance(){return SingletonHolder.INSTANCE;}
}