设计模式之单例模式
来源:互联网 发布:小学生必知课外知识 编辑:程序博客网 时间:2024/06/18 04:01
设计模式之单例模式,懒汉式,饿汉式
设计模式——单例模式——面试考懒汉式!!!
解决一个类的内存中只存在一个对象,想要保证对象唯一:
1.为了避免其他程序过多建立该对象,先禁止其他程序建立该类对象
2.还为了让其他程序可以访问到该类对象,只好在本类中定义一个对象
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式
这三步的代码实现:
将构造函数私有化
在类中创建一个本类对象
提供一个方法获取该对象(外部没有对象,但又要想外部可以调用,只能用类名调用,所有这个方法必须是静态方法,类中的对象也要是静态对象
对于实物该怎么描述就怎么描述,当需要将该事物的对象保证在内存中唯一时,只需将一下三步加上即可
代码:
饿汉式:Single类一进入内存,就已经创建好了对象
class Single{
private Single(){}
private static Single s=new Single();
public static Single getInstance(){ return s;}
}
懒汉式:实现对象延时加载:Single类进入内存,对象还没存在,调用方法时才建立对象
class Single{
private Single(){}
private static Single s=null;
public static synchronized Single getInstance(){ //但多线程时会出现安全问题:上锁synchronized ,一次只能一个进来,但会降低程序效率
if(s==null){ s=new Single(); }
return s;
}
}
懒汉式提高效率——双重判断形式
class Single{
private Single(){}
private static Single s=null;
public static Single getInstance(){ //上锁synchronized ,一次只能一个进来,但会降低程序效率
if(s==null){
synchronized(Single.class){
if(s==null){ s=new Single(); }
return s;
}
}
}
}
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- SaltStack部署
- 排序算法(多种,更新中……)
- js函数前加!(函数表达式和声明函数)
- SQLServer 中发布与订阅
- linux tail 命令详解
- 设计模式之单例模式
- android studio无法选择应用调试
- 高精度计算加法
- 516 Longest Palindromic Subsequence
- Android核心技术之(7)---四大应用组件之Service
- mybatis配置文件总结
- golden-gate extract sequence 归零
- 解决画原理图封装时place---polyline不能画三角形的问题
- nodejs基础学习--模块安装