Singleton模式
来源:互联网 发布:网络博客娱乐平台出租 编辑:程序博客网 时间:2024/06/05 21:17
一般Singleton模式通常有三种形式:
第一种形式: 也是常用的形式。
public class Singleton {
private static Singleton instance = null;
private Singleton(){
//do something
}
public static Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
第二种形式:
public class Singleton {
//在自己内部定义自己的一个实例,只供内部调用
private static Singleton instance = new Singleton();
private Singleton(){
//do something
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance(){
return instance;
}
}
第三种形式: 双重锁的形式。
public class Singleton {
private static Singleton instance = null;
private Singleton(){
//do something
}
public static Singleton getInstance(){
if(instance==null){
synchronized(Singleton.class){//这个模式将同步内容下方到if内部,提高了执行的效率,不必每次获取对象时都进行同步,只有第一次才同步,创建了以后就没必要了。
if(null == instance){
instance = new Singleton();
}
}
}
return instance;
}
}
0 0
- Singleton模式
- Singleton模式
- singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton 模式
- Singleton模式
- Singleton模式
- singleton模式
- Singleton模式
- Singleton 模式
- Singleton 模式
- Singleton 模式
- Singleton模式
- Singleton模式
- Singleton 模式
- Leetcode: Text Justification
- Android国际化资源文件自动化生成工具
- FusionCharts生成Flash图表常见问题FAQ
- 归一化图像
- IOS-录音功能
- Singleton模式
- 让你无处逃逸—无线定位技术简介
- Cocos2dx之Box2D物理引擎
- MFC 消息映射
- 想学习了。。
- Microsoft Lync Server 2010/2013部署服务
- c语言笔记
- JAVA学习笔记——第八章 包装类
- MFC GDI坐标映射例解