回复
[Android设计模式之旅]——单例模式
棉花糖
发布于 2020-9-23 11:34
浏览
0收藏
前言
单例模式应该是我们平时开发过程中最常用到的设计模式之一,它的核心结构中包含一个被称为单例的特殊类。通过单例模式能够保证程序中只有一个类只有一个实例。
定义
“单例模式是保证一个类只有一个实例,并且提供一个能够全局访问他的节点”————《设计模式》
单例模式的实现方式
1、饿汉模式
public class Singleton{
private Singleton singleInstance = new Singleton();
public Singleton getInstance(){
return singleInstance;
}
}
2、懒汉模式(线程不安全)
public class Singleton {
private Singleton instance;
public Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
3、懒汉模式(线程安全)
public class Singleton {
private Singleton instance;
public Singleton getInstance() {
synchronized (this) {
if (null == instance) {
instance = new Singleton();
}
return instance;
}
}
}
4、双重校验(DCL)
public class Singleton {
private Singleton instance;
public Singleton getInstance() {
if (null == instance) {
synchronized (Singleton.class) {
if (null == instance) {
instance = new Singleton();
}
}
}
return instance;
}
}
5、枚举
enum Singleton {
INSTANCE;
public void methond(){
System.out.println("This is Enum!");
}
}
6、静态内部类
public class Singleton {
private Singleton(){}
private static class SignletonInstance(){
private static final Singleton INSTANCE = new Singleton();
}
public Singleton getInstance(){
return SingletonInstance.INSTANCE;
}
}
作者:紫雾凌寒
来源:CSDN
分类
赞
收藏
回复
相关推荐