当前位置: 首页 > wzjs >正文

桂林网络开发盐城seo培训

桂林网络开发,盐城seo培训,58同城新密网站建设,余江县建设局网站单例设计模式 🚩什么是单例设计模式?🚩单例设计模式的特点🚩单例设计模式的结构🚩单例设计模式的优缺点🚩单例设计模式的Java实现🚩代码总结🚩总结 🚩什么是单例设计模式…

单例设计模式

  • 🚩什么是单例设计模式?
  • 🚩单例设计模式的特点
  • 🚩单例设计模式的结构
  • 🚩单例设计模式的优缺点
  • 🚩单例设计模式的Java实现
  • 🚩代码总结
  • 🚩总结

🚩什么是单例设计模式?

单例模式(Singleton Pattern)创建型设计模式,它确保 一个类只有一个实例,并提供 全局访问点 以获取该实例。

使用场景

  • 需要保证全局唯一性的对象,如 日志管理器数据库连接池缓存管理器 等。

  • 需要共享资源,避免创建多个实例导致资源浪费。

  • 需要控制对象的访问,如 线程池,只能有一个管理者控制线程分配。

🚩单例设计模式的特点

  • 全局唯一性:整个应用程序中只能有一个实例。

  • 提供全局访问点:外部只能通过 getInstance() 获取实例。

  • 延迟加载(可选):可以实现 懒加载,只有在需要时才创建实例,减少资源占用。

  • 线程安全(可选):可以采用 同步机制 确保在多线程环境下仍然保证唯一性。

🚩单例设计模式的结构

单例模式主要包含以下部分:

  • Singleton(单例类):提供 私有构造方法,确保外部不能创建对象,并提供 公共 getInstance() 方法 访问唯一实例。

  • Client(客户端):通过 getInstance() 方法访问单例对象。

🚩单例设计模式的优缺点

✅ 优点

  • 全局唯一性:保证只有一个实例,避免资源浪费。

  • 控制实例个数:防止创建多个对象,影响性能或逻辑错误。

  • 提供全局访问点:可以随时访问,无需每次创建新实例。

❌ 缺点

  • 可能引起全局状态问题:单例是 全局对象,在某些情况下可能导致难以调试的状态问题。

  • 不适用于多线程(非线程安全实现):如果不加锁,多线程环境下可能会创建多个实例。

  • 增加代码复杂度:如果实现线程安全的单例模式(如 双重检查锁定),代码会变得更复杂。

🚩单例设计模式的Java实现

代码地址:GitHub

  • 创建单例类,instance 存储唯一实例,确保全局唯一性,private Singleton() 防止外部创建新实例,getInstance() 提供全局访问点。
/*** @author hanson* @description:* @date 2025-03-23 23:37:21* @version: 1.0*/
public class Singleton {private int number = 2025;public void setNumber(int number) {this.number = number;}public int getNumber() {return number;}// 1. 创建私有静态实例private static Singleton instance = new Singleton();// 2. 构造方法私有化,防止外部实例化private Singleton() {}// 3. 提供公共方法获取实例public static Singleton getInstance() {return instance;}
}
  • 测试单例模式
/*** @author hanson* @description:* @date 2025-03-23 23:39:39* @version: 1.0*/
public class SingletonPattern {public static void main(String[] args) {// Singleton singleton1 = new Singleton();  // 不能直接实例化Singleton singleton1 = Singleton.getInstance();Singleton singleton2 = Singleton.getInstance();Singleton singleton3 = Singleton.getInstance();System.out.println(singleton1.getNumber() + " " + singleton2.getNumber() + " " + singleton3.getNumber());singleton1.setNumber(528);System.out.println(singleton1.getNumber() + " " + singleton2.getNumber() + " " + singleton3.getNumber());}
}

📌 运行结果

在这里插入图片描述

🚩代码总结

  • 私有静态变量 instance 存储唯一实例,确保全局唯一性。

  • 私有构造方法 private Singleton() 防止外部创建新实例。

  • 公有静态方法 getInstance() 提供全局访问点。

🚩总结

  • 单例模式(Singleton Pattern) 确保 一个类只有一个实例,并提供 全局访问点 获取该实例。

  • 适用于 日志管理器数据库连接池线程池等 需要全局唯一实例的场景。

  • Java 实现 需要 私有化构造方法,并提供 静态方法返回唯一实例

✅ 适用场景:

  • 需要 保证全局唯一性 的对象,如 日志管理器线程池数据库连接池 等。

  • 需要 共享资源,避免创建多个实例导致资源浪费。

  • 需要 控制对象的访问,防止多个实例同时操作数据。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

在这里插入图片描述

http://www.dtcms.com/wzjs/63418.html

相关文章:

  • 网站漂浮图怎么做网络推广软件
  • 品牌网站建设小科6a蚪seo网站优化网站编辑招聘
  • 糕点网站策划书专业搜索引擎seo合作
  • flash 网站源码seo黑帽技术工具
  • b s网站开发标准网站百度收录突然消失了
  • 网站一般用什么架构seo页面优化公司
  • 小榄网站建设广告投放方式
  • 建立网站就是制作网页淄博seo网站推广
  • python 网站建设自己开平台怎么弄啊
  • 网站建设广州百度一键优化
  • 淘宝联盟网站备案新闻热点事件2024最新
  • 建筑工程官网seo算法培训
  • sq网站推广外链兔
  • wordpress 正在维护网站排名优化技巧
  • 河南专业网站建设网站设计的流程
  • 企业网页设计尺寸宁波seo网站推广
  • 第一成品网站文军seo
  • 网站代理制作无锡整站百度快照优化
  • 网站建设和网站推广可以同一家做吗公司网站推广方案
  • 杭州高端网站制作营销网络的建设怎么写
  • wordpress标签美化线下课程seo
  • 西安市建网站找哪家如何推广软件
  • 网站授权系统怎么用网站长尾关键词排名软件
  • 大型网站团队人数做网络推广工作怎么样
  • 门户网站模板源码优化方案丛书官网
  • wordpress tao2014兰州网站seo服务
  • 淮南市城乡建设委员会网站最近国际时事热点事件
  • 做网站活动谷歌搜索引擎优化seo
  • 绵阳做网站多少钱怎么推广自己的微信
  • 政府网站建设升级白皮书优化师