UML类图
使用场景
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。
代码实现
标准的单例模式有几种实现方式。
DCL实现方式
public class T{
private volatile static T t = null;
private T(){}
static{
if(t == null){
synchronized (T.class) {
if(t == null){
t = new T();
}
}
}
}
public static T getInstance(){
return t;
}
}
静态内部类方式
public class T{
private T(){}
private static class Singleton{
private static final Singleton instance = new Singleton();
}
public static Singleton getInstance(){
return Singleton.instance;
}
}
枚举方式
class TTT{
private enum Singleton{
instance;
private Singleton(){
System.out.println("我是单例下的一个构造方法,只执行一次");
}
public void print(){
System.out.println("我是单例下的一个方法");
}
}
public static Singleton getInstance(){
return Singleton.instance;
}
}