单例模式
来源:互联网 发布:免费淘宝模板代码 编辑:程序博客网 时间:2024/06/16 19:09
1.懒汉模式
public class Singleton{
private static Singleton instance;private Singleton(){}
public static synchronized Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
2.双重校验锁 Double Check Lock(DCL模式)
public class Singleton{
private volatile static Singleton sInstance = null;
private Singleton(){};
public static Singleton getInstance(){
if(sInstance==null){
Synchronized(Singleton.class){
if(sInstance==null){
sInstance = new Singleton();
}
}
}
return sInstance;
}
}
3.静态内部类单例模式
public class Singleton{
private Singleton(){}
public static Singleton getInstance(){
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder{
private static final Singleton INSTANCE = new Singleton();
}
}
3这种模式不但能够确保线程安全,还能够保证单例的唯一性,同时也延迟了单例的实例化,推荐模式
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- 使用Git拉取GitLab上的项目
- PAT乙1057. 数零壹(20)
- linux文件操作命令
- 淘宝联盟逆向笔记
- Ubuntu16.04 LTS 安装FFmpeg
- 单例模式
- HDU 4857
- markDown工具介绍
- 单例模式和工厂模式Demo简单演示
- 线程锁synchronized (this)锁住的是对象还是方法
- SpringBoot中contraller即使启动类放在同包下也会报404的解决办法
- shell编程
- 玲珑杯 1138
- 【Shiro权限管理】1.Shiro简介