栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

单例设计模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单例设计模式

单例模式

特点:一个类只有一个实例

目的:

  1. 符合某些特定的业务需求,如:学校中只有一个校长

  2. 节约系统资源,如:Spring中的Bean默认是单例

实例步骤:

        1. 把构造方法私有化

        2. 定义静态的实例

        3. 定义方法用于创建对象并返回实例

单例模式的分类

单例模式分为两种:

饿汉式

public class HungrySingleton {
​
    //2. 定义静态的实例
    private static HungrySingleton instance = new HungrySingleton();
​
    //1. 私有化构造方法
    private HungrySingleton(){
        System.out.println("创建对象");
    }
​
    //3. 静态方法返回实例
    public static HungrySingleton getInstance(){
        return instance;
    }
}

懒汉式

public class LazySingleton {
    
    //2. 定义静态实例
    private static LazySingleton instance = null;
    
    //1. 私有构造方法
    private LazySingleton(){
        System.out.println("创建实例");
    }
    
    //3. 静态方法创建对象并返回
    public static LazySingleton getInstance(){
        if(instance == null){
            instance = new LazySingleton();
        }
        return instance;
    }
}

对比饿汉式和懒汉式:

​        1、饿汉式代码更加简洁

​        2、懒汉式更加节约内存(调用返回实例方式时才创建对象)

        3、饿汉式没有线程安全问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号