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

网站建设内部流程图百度收录网站左侧图片

网站建设内部流程图,百度收录网站左侧图片,网站建设的公司在哪找,51ppt模板免费下载网站Java 单例模式(Singleton Pattern)详解 🌟 什么是单例模式? 单例模式确保一个类只有一个实例,并提供一个全局访问点来访问它。 🧠 使用场景 配置管理类(如读取配置文件)日志工具类…

Java 单例模式(Singleton Pattern)详解

🌟 什么是单例模式?

单例模式确保一个类只有一个实例,并提供一个全局访问点来访问它。


🧠 使用场景

  • 配置管理类(如读取配置文件)
  • 日志工具类(如 Log4j 的 Logger)
  • 数据库连接池
  • 缓存管理
  • 线程池

✅ 实现方式(Java)

方式一:饿汉式(类加载时就实例化)

public class Singleton {private static final Singleton instance = new Singleton();private Singleton() {}public static Singleton getInstance() {return instance;}
}
  • 优点:简单、线程安全
  • 缺点:类加载时就创建实例,可能浪费资源

方式二:懒汉式(线程不安全)

public class Singleton {private static Singleton instance;private Singleton() {}public static Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}
}
  • 缺点:多线程环境会创建多个实例

方式三:懒汉式 + synchronized(线程安全)

public class Singleton {private static Singleton instance;private Singleton() {}public static synchronized Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}
}
  • 缺点:加锁影响性能

方式四:双重检查锁(DCL)

public class Singleton {private static volatile Singleton instance;private Singleton() {}public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
}
  • 优点:懒加载 + 线程安全 + 性能较好
  • volatile 防止指令重排

方式五:静态内部类

public class Singleton {private Singleton() {}private static class Holder {private static final Singleton instance = new Singleton();}public static Singleton getInstance() {return Holder.instance;}
}
  • 优点:利用 JVM 机制,线程安全 + 懒加载 + 高性能

方式六:枚举实现(最推荐)

public enum Singleton {INSTANCE;public void doSomething() {System.out.println("Doing something...");}
}
  • 优点:防反射、防反序列化、天然线程安全
  • 缺点:不能延迟加载

🔐 防止反射与反序列化破坏单例

防反射

private Singleton() {if (instance != null) {throw new RuntimeException("反射破坏单例!");}
}

防反序列化

private Object readResolve() {return instance;
}

📌 各方式对比

实现方式是否懒加载是否线程安全推荐度
饿汉式★★
懒汉式
synchronized★★
DCL★★★★
静态内部类★★★★★
枚举★★★★★(最安全)
http://www.dtcms.com/wzjs/595881.html

相关文章:

  • 网站建设开发协议书珠宝营销型网站设计
  • 同一ip大量访问网站wordpress发布文章页面错误
  • 建设网站改版wordpress外观自定义
  • 网站开发常用框架做外国网站百度搜到
  • 如何建立一个好的网站dw网站轮播效果怎么做
  • 哪个公司网站设计好网站建设有哪些分工分
  • 网页设计公司建网站网站设计建筑行业人才网
  • 广东手机网站制作价格焊工培训内容有哪些
  • 网站建设流程域名注册如何投诉做网站的公司
  • 关于药品网站建设策划书网站头像有啥做会清晰
  • 辽宁seo站内优化四川网站建设的公司
  • 郑州达云通网站建设公司冯耀宗seo教程
  • 网站建设需求调研表做网站还得备案
  • 网站改版升级步骤谷歌网站推广销售
  • 恩城seo的网站xx单位网站建设方案
  • 怎么做网站优化的淘宝刷单网站怎么建设源代码
  • 网站开发流程电话如何开发移动网站
  • 物流网站和数据库建设嘉兴建设中心小学网站
  • 建筑公司网站模板免费咨询的图片
  • 福建省建设干部培训中心网站首页seo需要懂代码吗
  • 域名 网站 区别国际新闻最新消息十条摘抄
  • 网站开发具体步骤如何建立优秀企业网站
  • 安徽太和有没有做网站的购物网站建设存在的问题
  • 网站备案期间怎么做设计页面ui
  • 室内设计在线设计软件龙岩seo公司
  • 建设网站应该加什么服务器ASP.NET商业级数据库网站开发实战
  • 做的网站怎么查看点击率沈阳做网站最好的公司
  • 江苏省建设工程一站式申报网站wordpress调用分类名
  • 内蒙古呼和浩特特产湖南正规关键词优化首选
  • 网站域名备案更改WordPress注册不提示