什么是单例模式
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
何时使用,主要解决
主要解决:一个全局使用的类频繁地创建与销毁。
何时使用:当您想控制实例数目,节省系统资源的时候。
如何使用
常用单例模式:恶汉式单例子
描述:这种方式比较常用,但容易产生垃圾对象。
优点:没有加锁,执行效率会提高。
缺点:类加载时就初始化,浪费内存。
它基于 classloder 机制避免了多线程的同步问题,不过,instance 在类装载时就实例化,虽然导致类装载的原因有很多种,在单例模式中大多数都是调用 getInstance 方法, 但是也不能确定有其他的方式(或者其他的静态方法)导致类装载,这时候初始化 instance 显然没有达到 lazy loading 的效果。
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton (){}
public static Singleton getInstance() {
return instance;
}
}
本文介绍了单例模式的概念及其应用场景,详细解释了单例模式的三个关键特性,并通过一个恶汉式单例模式的例子来说明其优缺点。适用于希望了解如何在软件设计中实现资源节约和控制实例数目的开发者。
2601

被折叠的 条评论
为什么被折叠?



