1. 定义
该类只有一个实例,所有指向该类型实例的引用都是指向这个实例的。这样可以保证数据的一致性,也可以节省空间。
2. 创建
1)饿汉式
加载类时较慢,但运行时获得对象的速度比较快,它从加载到应用结束会一直占用资源。
class Singleton
{
//在内部准备好一个对象
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}
2)懒汉式
加载类时较快,但运行时获得对象的速度较慢,它在整个应用的生命周期中只有一部分时间在占有资源。
class Singleton{
private static Singleton instance = null;
private Singleton(){}
public static Singleton getInstance(){// 将instance传递到外部去
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
本文介绍了单例模式的概念及其两种实现方式:饿汉式和懒汉式。饿汉式在类加载时即完成初始化,获取对象速度快;懒汉式在首次使用时才初始化,能有效节约资源。
1988

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



