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

网站推广工作计划黄页88网官网电话

网站推广工作计划,黄页88网官网电话,最有性价比的网站建设,静乐县城乡建设局网站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/811845.html

相关文章:

  • 做网站去哪找客户如何评价一个网站做的是否好
  • 建设购物网站多少钱四川油建公司官网
  • 鹤壁北京网站建设国内网建公司排名
  • 4a级旅游网站建设的要求如何将公司网站做的更好看
  • 广州网站建设设计平台免费网站软件正能量
  • 长沙网站建设要多少钱箱包东莞网站建设
  • 网站注册系统用什么做开源众包官网兼职平台
  • 重庆知名做网站的公司mvc做的网站
  • sns有哪些著名的网站石家庄网站优化推广
  • 大邑县建设局网站怎么在网上建网站啊
  • 手机做网站服务器吗网站推广公司水果茶
  • 域名及网站建设实训电商网站设计平台
  • 涿州市建设局网站网址是多少做网站如何写代码
  • 东莞宣传网站wordpress 友情链接调用
  • 网站建设服务那家好域名怎么卖
  • 广州网站设计十年乐云seo做外贸哪个网站好
  • 淘宝客网站素材政协网站建设要求
  • 学校网站制作代码哈尔滨做企业网站
  • 网站设计app怎么做国外的网站推广
  • 程序员做图网站2018江苏省海门市建设局网站
  • 廊坊市建设网站网站空间租用
  • 建设银行江苏官网招聘网站电商设计网站模板
  • 建设一个很大的视频网站需要多少钱淘宝客建设网站首页
  • 东莞一站式网站建设网站建设模块培训ppt
  • 网络营销策划创意案例点评企业网站优化的方式
  • 浙江省建设培训中心网站首页全国中小企业融资综合示范平台
  • 织梦cms 学校网站模板免费凡科建站官网
  • 青浦网络公司网站semi认证
  • 南通网站排名公司江苏省交通运输厅门户网站建设管理
  • 商业网站的建设手机开发安卓软件