实用设计模式之单例模式
1.什么是单例模式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并提供全局访问点。
2.单例的使用教科书中的示例是很简单的,要想实现一个单例类,只需要三点:
定义私有的静态成员私有化构造方法提供公有的静态工厂方法典型的代码是:
public static Singleton getInstance(){if (instance==null){synchronized (Singleton.class) {if (instance==null){instance=new Singleton();}}}return instance;}
再来看类的其他成员的互斥问题,这个就与其他class是一样的了,需要小心的处理多线程访问的影响。
2.6.内存回收单例的内存问题也是值得关注的,一量单例创建以后,静态变量instance就会持有一份内存引用,而且由于其static性质,这份内存将在程序运行期间持续占用,无法通过GC进行回收。所以对内存敏感的程序要减少对单例的使用,或者妥善处理内存回收问题。
3.小结总之,虽然单例看上去很美,但还是有这么多需要认真思考、妥善决策的技术要点,用好单例并不像我们在教科书中看到的那样简单。
——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——