设计模式--单例设计模式
来源:互联网 发布:淘宝客微信怎么加人 编辑:程序博客网 时间:2024/06/05 19:55
设计模式是对问题行之有效的解决方案,它其实是一种思想。
单例设计模式:
解决的问题:可以保证一个类在内存中只能有一个对象。(比如多个程序使用相同的配置信息对象时,就需要保证对象的唯一性)
如何保证唯一性:1、不允许其他程序用new创建类对象
2、在该类中创建一个本类实例
3、对外提供一个方法让其他程序可以获取该对象
达成唯一性的步骤:
1、私有化该类构造函数(private)
2、通过new在本类中创建一个本类对象
3、定义一个公有的方法,将创建的对象返回
class Single
{
static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
//调用对象的方式采用类名调用,类名调用的前提是调用静态方法,静态访问的内容必须是静态故static Single用静态修饰
class SingleDemo
{
Single ss1 = Single.getInstance();
Single ss2= Single.getInstance();
System.out.println(ss1==ss2);
}
//输出结果为true也就说明对象唯一
这种方式在类一 加载就会产生对象。也称作恶汉式单例模式。
对应的懒汉式如下:
懒汉式即类加载进来时,没有对象,只有调用geyInstance方式时,才会创建对象。(延迟加载形式)
class Single2
{
static Single2 s = null;
private Single2(){}
public static Single2 getInstance()
{
if ( s == null )
s = new Single2 ();
return s;
}
}
真实开发时饿汉式使用较多,因为懒汉式在用的时候如果碰见多线程问题有可能出现 对象的唯一性问题存在安全隐患。(面试时饿汉式碰见的多)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 设计模式-单例模式
- [设计模式] 单例模式
- 设计模式--单例模式
- 设计模式---单例模式
- 设计模式--单例模式
- 设计模式 -----单例模式
- 设计模式:单例模式
- tensorflow学习笔记一之tensorflow实现卷积部分常用函数
- java继承多态和抽象类接口
- flask 简单目标及其安装使用
- python开发平台PyCharm最好的一种编辑环境配置(字体大小和颜色)
- Google File System学习笔记
- 设计模式--单例设计模式
- 分析高阶问题
- poj 1830 开关问题
- 十三周 项目1(1)
- 【Code+ Round 1 div 1】Yazid的新生舞会
- leave_msg的wp
- POJ3278 Catch That Cow
- 操作系统-页面置换算法-最佳置换算法
- 两年JAVA程序员的面试总结