java中饿汉与懒汉的故事(单例设计模式)

java中的单例设计模式

关于设计模式,这其实是单独存在的东西,它不属于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();
    }
}

三.饿汉和懒汉有啥不同

对于饿汉式:
优点:线程贼安全
缺点:对象加载时间过长
对于懒汉式:
优点:延迟对象的创建,更快
缺点:多线程安全贼低,但是可以通过优化使其可用。

读者福利

感谢你看到了这里!
我这边整理很多2020最新Java面试题(含答案)和Java学习笔记,如下图
在这里插入图片描述

上述的面试题答案小编都整理成文档笔记。 同时也还整理了一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图)免费分享给大家,有需要的可以 点击进入暗号:CSDN!免费分享~

如果喜欢本篇文章,欢迎转发、点赞。

记得关注我!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49527334/article/details/111991737