标签:color 职责 资源 文件 iss 技术 缓存 csdn 饿汉
单例模式属于创建型模式。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。
优点:①在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。
②避免对资源的多重占用(比如写文件操作)。
缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
UML图:
代码如下:
懒汉式(线程安全):
public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
饿汉式(线程安全):
public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){}; public static Singleton getInstance() { return instance; } }
标签:color 职责 资源 文件 iss 技术 缓存 csdn 饿汉
原文地址:http://www.cnblogs.com/lingd3/p/7073644.html