黑马程序员——单例设计模式
来源:互联网 发布:python 打包软件 编辑:程序博客网 时间:2024/05/07 03:39
------- android培训、java培训、期待与您交流! ----------
1 单例设计模式的作用
解决一个类在内存中只能存在一个对象的问题,这样的话任何对 对象的操作都是在操作同一个对象
如何保证对象的唯一?
1 为了避免其他程序过多的建立该类对象,应该先禁止其他程序建立该类的对象
2 为了让其他的程序可以访问到该类的对象,应该在本类中创建一个本类的对象
3 为了方便外部使用这个对象,应该提供一个方法返回本类对象
对应的解决方案:
1 将构造函数私有化,防止外部创建对象
2 在本类中创建本类对象
3 提供一个方法,可以获取本类的对象
例如:
class Single{private Single(){};//构造函数私有化private static Single s = new Single();//创建本类对象public static Single getSingle(){return s;//返回本类对象的引用}}这种创建方法,也叫“饿汉式“,类一加载就创建对象,也是在开发中比较常用的,
另一种就是”懒汉式“,当在调用这个类的获取方法时才创建对象
例如:
class Single2{private Single2(){};private static Single2 s = null;public static Single2 getSingle2(){if(s == null){synchronized(Single.class){if(s==null)s = new Single2();}}return s;}}这种方式在使用时才创建对象,节省内存,但是在代码的操作上比较费时,也不简化,而且在多线程的操作中有可能存在安全问题(用上面代码中的方式来解决安全问题),所以在开发中都是应用饿汉式来创建单例类。
0 0
- 黑马程序员—单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员--设计模式——单例设计模式
- 黑马程序员————单例设计模式
- 黑马程序员———java 单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——多线程和单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员 JAVASE——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员学习笔记——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——java单例设计模式
- 运行时出现Stack overflow错误
- hdu5192 树状数组
- quartz CronExpression 基本用法
- MySQL字符集问题
- POJ1422.Air Raid(空袭)——最小边覆盖
- 黑马程序员——单例设计模式
- Android规定的自定义属性
- C++ 定义函数模板
- poj_1019
- Seasar里ページング的取得方法
- 研发工程师(C/C++)面试问答题集锦
- Asp.net MVC中的ViewData与ViewBag
- 学习要看到本质
- MarkDown 学习笔记(三)