设计模式-单例模式(Java实现)
单例模式的分类
Java单例模式主要可以分为三种:
| 类型 | 特点 |
|---|---|
| 懒汉式 | 简单、线程不安全、懒加载 |
| 饿汉式 | 简单、线程安全、初始化的时候加载 |
| 双重检查 | 复杂、线程安全、懒加载 |
| 静态内部类 | 简单、线程安全、懒加载 |
懒汉式
private SingleTest(){}
private static SingleTest instance = null;
public static SingleTest getInstance(){
if(instance == null){
instance = new SingleTest();
}
return instance;
}
饿汉式
private SingleTest(){}
private static SingleTest instance = new SingleTest();
public static SingleTest getInstance(){
return instance;
}
双重检查
private SingleTest(){}
private static volatile SingleTest instance = null;
public static SingleTest getInstance(){
if(instance == null){
synchronized (SingleTest.class){
if(instance == null){
instance = new SingleTest();
}
}
}
return instance;
}
静态内部类
private SingleTest(){}
private static class LazyHolder{
private static SingleTest instance = new SingleTest();
}
public static SingleTest getInstance(){
return LazyHolder.instance;
}

浙公网安备 33010602011771号