0
点赞
收藏
分享

微信扫一扫

面向对象下(单列设计模式:饿汉式vs懒汉式)

小北的爹 2022-01-06 阅读 39

一、所谓的单列设计模式,就是采用一定的方法保证在整个的软件系统中

二、单列的饿汉式实现

public class SingletonTest1 {
    Bank bank1=Bank.getInstance();
}
class Bank{
    //1、私有化构造器
    private Bank(){
        
    }
    
    //2、创建内部类对象
    //4、要求此对象也必须声明为静态的
    private static Bank instance=new Bank();
    
    //3、提供公共的静态的方法、返回类对象
    public static Bank getInstance(){
        return instance;
    }
三、单列的懒汉式实现
​​​​​sipublic class SingletonTest2 {
    public static void main(String[] args) {
        Order order1=Order.getInstance();
        Order order2=Order.getInstance();
        System.out.println(order1==order2);
    }
}
//懒汉式
class Order{
    //1、私有化构造器
    private Order(){

    }

    //2、声明当前类对象,没有初始化
    //4、此对象声明为static的
    private static Order instance=null;
    //3、声明public、static的返回当前类对象的方法
    public static Order getInstance(){
        if (instance==null) {
            instance = new Order();
        }
        return instance;
    }
}

四、区别

饿汉式:

        坏处:对象加载时间过长

        好处:饿汉式是线程安全的

懒汉式:

        好处:延迟对象的创建

        坏处:目前的写法:线程不安全。-->到多线程内容时,再修改

举报

相关推荐

0 条评论