简单理解单例模式
来源:互联网 发布:java web有什么好书 编辑:程序博客网 时间:2024/05/16 09:32
Q:什么是设计模式?
A : 设计模式是无数程序员前辈在开发程序中不断总结出来针对特定问题的一种解决方案。简单来说就是招式套路,而核心的内功是“高内聚,低耦合”。内功高打出的招式才有威力。
在软件领域,“四人帮”系统地提出了三大类(创建模式,行为模式,组合模式)共23种经典的设计模式,学习设计模式能帮助我们更好地理解他人的代码进行代码重构。
Q:什么是单例模式(Singleton)?
A:确保一个类只有一个实例,并自行实例化向整个系统提供这个实例。
要求:1.私有的构造器(禁止通过new来创建对象);
2.私有的静态类属性;
3.公共的静态获取类对象的方法;
只要满足了上面三个要求,那么这个类就是符合单例设计模式的 类。
按照创建实例的时机不同我们把单例模式细化成了两类:
一 饿汉单例:
在类加载的时候就实例化好对象交给自己的引用。
简单理解:系统自己主动实例化对象。
二 懒汉模式:
在调用获取实例方法的时候才会实例化对象。
简单理解:比较懒要我们自己调用了方法之后才会实例化对象。
Q:单例模式有什么优点?
A:
1.在内存中只有一个对象,节约内存空间
2.可以避免频繁的创建销毁对象,提高性能
3.避免对共享资源的多重占用
4.可以全局访问
Q:请写出一个单例模式的例子
A:1.饿汉单例:
/** * @info:单例模式示例(饿汉单例) * @author:dy * @2016年8月21日 * */public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { } private static Singleton getSingleton() { return singleton; }}
2.懒汉单例
/** * @info:单例模式(懒汉单例) * @author:dy * @2016年8月21日 * */public class Singleton2 { private static Singleton2 singleton2; private Singleton2() { } // 只有在调用这个方法的时候才会实例化对象 private static Singleton2 getSingleton2() { if (singleton2 == null) { singleton2 = new Singleton2(); } return singleton2; }}
单例模式作为一种简单常用的设计模式,希望各位才踏进程序员大门的兄弟一定要做到烂熟于心。
- 简单理解单例模式
- 简单理解设计模式之单例模式
- 单例模式理解
- 理解单例模式
- 简单总结我对单例模式的理解
- 简单理解单例模式写法(第一篇)
- Java/Android单例模式的简单理解
- 代理模式,简单(静态)工厂模式,单例模式,模板方法模式个人理解
- 简单单例模式
- 单例模式浅理解
- JAVA单例模式理解
- 单例模式深入理解
- 单例模式 自我理解
- JAVA理解单例模式
- 单例模式的理解
- 单例模式的理解
- 彻底理解单例模式
- 深入理解单例模式
- jvm面试题(六)
- 贪吃蛇的Java实现
- 51nod 1138 连续整数的和
- hdu 2059 龟兔赛跑
- Java修饰符
- 简单理解单例模式
- Java枚举
- V1.0.0 Python可以做什么
- 35 个快速学习编程的好去处
- mysql MYISAM INNODB 引擎比较
- RecyclerView的使用
- 关于Hibernate4与Hibernate3创建SessionFactory的的细微区别
- 小笔记
- 35 个快速学习编程的好去处