单例模式
意图:保证一个类仅有一个实例,并提供一个访问他的全局访问点。
主要解决:一个全局使用的类频繁的创建与销毁;
何时使用:当你想控制实例数目,节省系统资源的时候。
单例模式有多种,其中最常见的是懒汉和饿汉模式
饿汉模式:
优点:没有加锁,执行效率更高;
缺点:类加载时就初始化,浪费空间;
编程实现:
- 私有构造器
- 静态的私有属性
- 公共的静态方法
public class EHan{
private static EHan instance =new instance();//直接赋值
private LHan{}//构造私有方法
public static EHan getInstance(){
return instance;
}
}
懒汉模式:
懒汉式:主要是针对饿汉式中不管是否需要使用对象都先创建对象所引起的内存浪费
优点:由于采用延迟处理的方式,所以比较节省空间
缺点:在多线程不能工作
public class LHan{
private static LHan instance;
private LHan{}//构造私有方法
if(instance==null){
instance = new instance ();
} //需要了再赋值;
return instance;
}