Java设计模式单例模式(Singleton)用法解析

上传者: 38645379 | 上传时间: 2026-04-17 12:44:54 | 文件大小: 81KB | 文件类型: PDF
Java设计模式单例模式(Singleton)用法解析 java设计模式单例模式(Singleton)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局反访问点。单例模式是创建型模式。单例模式在生活中应用也很广泛,比如公司CEO只有一个,部门经理只有一个等。JAVA中ServletCOntext,ServetContextCOnfig等,还有spring中ApplicationContext应用上下文对象,SessionFactory,数据库连接池对象等。使用单例模式可以将其常驻于内存,可以节约更多资源。 单例模式的应用场景: * CEO、部门经理等 * JAVA中ServletCOntext,ServetContextCOnfig等 * Spring中ApplicationContext应用上下文对象,SessionFactory,数据库连接池对象等 单例模式的实现方式有多种,常见的有懒汉式、恶汉式、静态内部类等。 懒汉式(线程不安全): 懒汉式单例模式的实现方式是提供一个静态对象instance,构造函数私有化防止外部创建对象,提供一个静态的getInstance方法来给访问者一个单例对象。这种写法的缺点就是没有考虑到线程安全问题,当多个访问者同时访问的时候很有可能创建多个对象。 懒汉式(线程安全): 懒汉式单例模式的实现方式是在第一种基础上添加了synchronized关键字保证了线程安全。这种写法在并发高的时候虽然保证了线程安全,但是效率很低,高并发的时候所有访问的线程都要排队等待。 恶汉式(线程安全): 恶汉式单例模式的实现方式是直接在运行(加载)这个类的时候创建了对象,之后直接访问。显然这种方式没有起到Lazy loading的效果。但是是线程安全的,实际开发中还是比较常用。 静态内部类(线程安全): 静态内部类单例模式的实现方式是提供一个私有的构造函数,防止外部创建对象,并提供一个静态的getInstance方法来给访问者一个单例对象。这种方式是线程安全的,并且效率高,实际开发中也比较常用。 单例模式是创建型模式,能够确保一个类在任何情况下都绝对只有一个实例,并提供一个全局反访问点。单例模式在生活中应用也很广泛,JAVA中也有许多应用。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明