单例设计模式的应用场景(设计模式之单例设计模式)
导读:1.1 基本概念 在某些特殊场合中,⼀个类对外提供且只提供⼀个对象时,这样的类叫做单例类,⽽设计单例类的流程和思想叫做单例设计模式。...
1.1 基本概念
在某些特殊场合中 ,⼀个类对外提供且只提供⼀个对象时 ,这样的类叫做单例类 ,⽽设计单例类的流程和思想叫做单例设计模式 。1.2 实现流程
私有化构造方法 ,使用private关键字修饰 。 声明本类类型的引用指向本类类型的对象 ,并使用private static关键字共同修饰 。 提供公有的get方法负责将对象返回出去 ,并使用public static关键字共同修饰 。1.3 采用饿汉式实现
1.3.1 核心代码
1.3.2 特点概述
保证了多线程安全 ,执行效率比较高 。 类加载时创建对象 ,容易产生垃圾对象且浪费内存空间 ,没有达到延迟加载的效果 。1.4 采用懒汉式实现
1.4.1 核心代码
1.4.2 特点概述
调用方法才会创建对象 ,避免垃圾对象产生和内存空间的浪费 ,达到了延迟加载的效果 。 需要加锁才能保证多线程安全 ,加锁导致执行效率比较低 。1.5 采用双重锁校验实现
1.5.1 核心代码
1.5.2 特点概述
采用双重锁机制既能保证多线程安全,又能保证执行效率比较高 ,同时达到了延迟加载的效果 。1.6 采用静态内部类实现
1.6.1 核心代码
1.6.2 特点概述
只适用于静态域 ,不适用于实例域延迟初始化时使用 。 采用静态内部类来保证多线程安全和执行效率以及延迟加载,比双重锁校验式更加简单 。1.7 采用枚举实现
1.7.1 核心代码
1.7.2 特点概述
实现单例设计模式的最佳方式 ,保证多线程安全和执行效率 ,支持序列化机制 ,绝对防止多次实例的创建 。1.8 实际应用
Web应用中的配置对象 ,由于配置文件是共享资源 ,通常采用单例模式。 网站或者App程序的计数器 ,通常也采用单例模式 ,便于进行同步 。 操作系统中的任务管理器和回收站 ,都是采用的单例模式 。
更多精彩欢迎关注微信公众号《格子衫007》!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!