概述
饿汉式
/*
保证别人使用该类的时候,只能获取一个对象(Singleton只能有一个对象)
步骤:
1.私有类的构造器
2.提供该类的静态修饰的对象
3.提供公开的静态方法,返回该类的唯一对象
*/
public class Singleton {
//1.私有类的构造器,目的是不让外界创建对象
private Singleton(){
}
//2.提供该类的静态修饰的对象(饿汉式,对象是直接创建的)
private static Singleton single = new Singleton();
//3.提供公开的静态方法,返回该类的唯一对象
public static Singleton getInstance(){
return single;
}
}
懒汉式
懒汉式单例
1.私有构造方法
2.提供该类的静态变量,不是马上创建
3.提供公开的获取唯一对象的静态方法
public class Single {
//1.私有构造方法
private Single(){}
//2.提供该类的静态变量,不是马上创建
private static Single single = null;
//3.提供公开的获取唯一对象的静态方法
public static Single getInstance(){
//如果对象为空,则创建,否则直接返回
if(single==null){
single = new Single();
}
return single;
}
}
两种单例模式的优缺点:
两种单例模式的优缺点:
饿汉式单例模式
优点:对象提前创建好了,使用的时候无需等待,效率高
缺点:对象提前创建,所以会占据一定的内存,内存占用大
以空间换时间
懒汉式单例模式
优点:使用对象时,对象才创建,所以不会提前占用内存,内存占用小
缺点:首次使用对象时,需要等待对象的创建,而且每次都需要判断对象是否为空,运行效率较低
以时间换空间
因为饿汉式单例效率高,实现简单,推荐使用饿汉式单例
最后
以上就是无限滑板为你收集整理的饿汉式和懒汉式两种单例模式的优缺点饿汉式懒汉式两种单例模式的优缺点:的全部内容,希望文章能够帮你解决饿汉式和懒汉式两种单例模式的优缺点饿汉式懒汉式两种单例模式的优缺点:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复