单例设计模式
来源:互联网 发布:linux server 版本官网 编辑:程序博客网 时间:2024/06/15 09:01
单例设计模式是一种比较常见的模式,开发时候用到别人的代码,新建一个类发现该类居然没有构造函数能调用,只能通过类似类.instance()的方法创建,很有可能就是使用了这种设计模式。
那么什么是单例设计模式呢?
其实它的取名已经告诉你啦,单个例子的设计方法,就是指一个类在内存中只存在一个对象,要保证这个对象的唯一性和单一性。
那么为什么会出现这种设计模式呢?
1、有些bean会被频繁使用,而创建它们会消耗许多内存,所以想要节省内存,只用创建一个对象便可。
2、避免创建过多引起不必要的逻辑错误。
那么单例设计模式有几种使用方式呢?
1、懒汉式
顾名思义,懒汉式就是指懒,在这里取名懒汉式是因为只有想用的时候才创建该单例对象。先看具体代码:
class SingleL {private static SingleL s = null; // 懒汉private SingleL() {}public static SingleL getInstance() {if (s == null) {s = new SingleL();}return s;}}
通过代码我们可以看到它实现单例模式是将构造函数私有化,同时只有通过调用静态方法getInstance()才可以创建该单例对象,而且该单例对象只创建一次。
2、饿汉式
顾名思义,饿汉式是指饥饿,在这里指只要加载了类,该单例对象就随着加载一起存在于方法区中。先看具体代码:
class SingleE {private static Single s = new Single(); // 饿汉式private Single() {}public static Single getInstance() {return s;}}
通过代码我们可以看到,类一加载,单例对象就已经创建,而getInstance()方法则只是返回已经创建了的单例对象。
那么懒汉式和饿汉式什么时候用呢?
懒汉式因为再要使用的时候才创建,所以使它有了一个特点就是延迟加载,当需要考虑到性能快慢的时候可以考虑懒汉式。
饿汉式因为类一旦加载就创建,之后便无法改变,所以它的安全性就比较高,当需要考虑安全性的时候推荐使用饿汉式。
0 0
- 设计模式--单例
- 单例设计模式
- 设计模式----单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 设计模式-单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- SQL Server2008函数大全
- 3021
- iOS-CollectionView 基础
- python paramiko模块实现sftp上传下载文件
- Excel ActiveX教程(一)
- 单例设计模式
- CBitmap和HBITMAP的区别及相互转换方法
- key形式哈希表的线性探测
- MySQL之事务、索引、锁
- ios掩藏导航栏下面的线
- [Scikit-Learn] - 数据预处理 - 归一化/标准化/正则化
- Java之抽象类
- 列表控件
- [C++]bitset特殊用法