单例设计模式-java中饿汉与懒汉的故事
2021-01-01 20:24:35 935浏览
java中的单例设计模式关于设计模式-饿汉模式和懒汉模式
今天给大家分享下java中得单例设计模式。
关于设计模式,这其实是单独存在得东西,它不属于java,但是在java中使用较多,所以今天我就给大家介绍下单例设计模式中得饿汉和懒汉这俩朴素得打工人。
首先我先说明下单例设计模式是啥(如果不想了解,可以直接划下去看饿汉和懒汉):类得单例设计模式就是采用一定得方法保证在整个软件系统中,对某个类只能存在一个对象实例。(不懂也没关系,会用就好)
一.饿汉式
饿汉式:可以理解为饿得不行了,就提前把吃饭工具准备好(new对象),再进行“吃”得操作。
用代码说话吧:
懒汉式:可以理解这人特懒,他只是洗下碗但是不准备,啥时候吃饭啥时候弄吃饭工具(new对象)。
用代码说话吧:
对于饿汉式:
优点:线程贼安全
缺点:对象加载时间过长
对于懒汉式:
优点:延迟对象得创建,更快
缺点:多线程安全很低,但是可以通过优化使其可用。
行,今天就给大家分享到这里吧,您的一份支持就是我最大的动力,最后打个小广告,我们程序员在学习和工作中或多或少会遇到一些比较棘手的问题,也就所谓的一时半会解决不了的bug,可以来杰凡IT问答平台上提问,平台上大佬很多可以快速给你一对一解决问题,有需要的朋友可以去关注下,平台网址: https://www.jf3q.com
关于设计模式,这其实是单独存在得东西,它不属于java,但是在java中使用较多,所以今天我就给大家介绍下单例设计模式中得饿汉和懒汉这俩朴素得打工人。
首先我先说明下单例设计模式是啥(如果不想了解,可以直接划下去看饿汉和懒汉):类得单例设计模式就是采用一定得方法保证在整个软件系统中,对某个类只能存在一个对象实例。(不懂也没关系,会用就好)
一.饿汉式
饿汉式:可以理解为饿得不行了,就提前把吃饭工具准备好(new对象),再进行“吃”得操作。
用代码说话吧:
class Family{二.懒汉式
private int number;
private String name;
private Family(){
} //构造器私有化
private static Family Instance=new Family();
//内部创建类得对象
public static Family getInstance(){
return Instance;
}
//提供公共得静态方法,且返回对象。
}
public class Test3 {
public static void main(String[] args) {
Family family1=Family.getInstance();
Family family2=Family.getInstance();
}
}
懒汉式:可以理解这人特懒,他只是洗下碗但是不准备,啥时候吃饭啥时候弄吃饭工具(new对象)。
用代码说话吧:
class lazy {三.饿汉和懒汉有啥不同
private lazy(){
}
private static lazy Instance = null;
//声明当前对象没有初始化值
public static lazy getInstance(){
if (Instance==null){
Instance=new lazy();
//需要再造对象,不要就不new对象了
}
return Instance;
}
}
public class Test32 {
public static void main(String[] args) {
lazy lazy1=lazy.getInstance();
}
}
对于饿汉式:
优点:线程贼安全
缺点:对象加载时间过长
对于懒汉式:
优点:延迟对象得创建,更快
缺点:多线程安全很低,但是可以通过优化使其可用。
行,今天就给大家分享到这里吧,您的一份支持就是我最大的动力,最后打个小广告,我们程序员在学习和工作中或多或少会遇到一些比较棘手的问题,也就所谓的一时半会解决不了的bug,可以来杰凡IT问答平台上提问,平台上大佬很多可以快速给你一对一解决问题,有需要的朋友可以去关注下,平台网址: https://www.jf3q.com
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
他的专栏
他感兴趣的技术