单件模式确保一个类只有一个实例,并提供一个全局访问点。
适用于资源敏感的场景。
实现:
//经典实现方式,但是在多线程环境下就会出问题,
//可能连个线程同时进入了uniqueInstance==null那条控制路径
public class Singletion
{
private static Singletion uniqueInstance;
...
分类:
其他好文 时间:
2014-07-02 09:53:33
阅读次数:
197
Android可能发生内存泄露的地方总结:1.查询数据库没有关闭游标2.构建adapter时,没有使用缓存的convertView3.Bitmap对象不使用的时候调用recycle()方法释放内存4.释放对象的引用5.单例模式引用context,如果使用actvitiy-context,会造成内存泄...
分类:
移动开发 时间:
2014-07-01 21:27:23
阅读次数:
237
单例模式三种写法:第一种最简单,但没有考虑线程安全,在多线程时可能会出问题public class Singleton{ private static Singleton _instance = null; private Singleton(){} public static S...
分类:
其他好文 时间:
2014-07-01 20:39:28
阅读次数:
263
1、使用私有构造器或者枚举类型强化singleton
1》单例模式---私有构造器,提供一个公有的成员是一个静态工厂方法:
public class SingleTon{
private static final SingleTon single=new SingleTon();
private SingleTon(){ }
pu...
分类:
其他好文 时间:
2014-07-01 14:24:47
阅读次数:
181
作者:卿笃军原文地址:http://blog.csdn.net/qingdujun/article/details/35263857MFC中一个类要訪问另外一个类的的对象的成员变量值,这就须要获得原来那个类对象的指针,事实上有好几种方法都能够实现。比方维护一个单例模式、设置静态变量等等。我们这里举个...
分类:
其他好文 时间:
2014-07-01 13:21:29
阅读次数:
228
定义:确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。饿汉式单例 1 public class A{ 2 3 private static final A a= new A(); 4 5 private A(){}; 6 7 p...
分类:
其他好文 时间:
2014-07-01 11:51:36
阅读次数:
214
尊重版权:http://cantellow.iteye.com/blog/838473
第一种(懒汉,线程不安全):
Java代码
public class Singleton { private static Singleton instance; private Singleton (){} public static S...
分类:
编程语言 时间:
2014-07-01 07:22:33
阅读次数:
251
多态性可分为两类:静态多态和动态多态。函数重载和运算符重载实现的多态属于静态多态,动态多态性是通过虚函数实现的。每个含有虚函数的类有一张虚函数表(vtbl),表中每一项是一个虚函数的地址, 也就是说,虚函数表的每一项是一个虚函数的指针。没有虚函数的C++类,是不会有虚函数表的。两张图:简单例子: 1...
分类:
编程语言 时间:
2014-06-30 22:59:27
阅读次数:
379
Singleton 是对全局变量的取代策略
作用:保证一个类只能有一个实例,并提供一个全局唯一的访问点。
仅有一个实例:通过类的静态成员变量来体现。
提供访问它的全局访问点:访问静态成员变量的静态成员函数来体现。
《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。
单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问...
分类:
其他好文 时间:
2014-06-30 20:27:52
阅读次数:
255
模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的方法,一些重要复杂的算法,可以将核心算法设计为模板方法,周边相关细节部分则有子类来实现。特别是在重构时,可以将子类的代码抽取到父类中,然后通过父类的引用指向子类的对象,也就是用一个句柄,来约束其行为。...
分类:
编程语言 时间:
2014-06-30 00:38:24
阅读次数:
321