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

网站建设制衡水安徽网站建设

网站建设制,衡水安徽网站建设,高端玩家,少女前线9a91太可爱了1. 设计模式详解 单例模式是一种创建对象的设计模式#xff0c;它确保一个类只有一个实例#xff0c;并提供全局访问点以获取该实例。 在单例模式中#xff0c;类负责创建自己的唯一实例#xff0c;并确保任何其他对象只能访问该实例。这对于需要共享状态或资源的情况非常有…1. 设计模式详解 单例模式是一种创建对象的设计模式它确保一个类只有一个实例并提供全局访问点以获取该实例。 在单例模式中类负责创建自己的唯一实例并确保任何其他对象只能访问该实例。这对于需要共享状态或资源的情况非常有用例如数据库连接日志记录器或线程池。 单例模式的主要特点包括 私有构造函数单例类的构造函数被声明为私有这样其他类无法直接实例化该类。 静态实例变量单例类内部维护一个静态实例变量用于保持对单例实例的引用。 静态获取方法单例类提供一个静态方法以便其他类可以通过该方法获取单例实例。通常该方法在首次调用时会创建单例实例并在后续调用时返回该实例。 2.单例模式代码 单例模式实现代码很简单 /*** Author: stukk* Description: 单例模式* DateTime: 2023-12-17 22:14**/ public class Singleton {private static Singleton singleton;private Singleton(){}public static Singleton getInstance() {if(singleton null){singleton new Singleton();}return singleton;}public void showMessage(){System.out.println(我是单例模式);} }/*** Author: stukk* Description: 客户端* DateTime: 2023-12-17 22:16**/ public class SingletonMode {public static void main(String[] args) {Singleton singleton Singleton.getInstance();singleton.showMessage();} } 3. 单例模式的多种实现方式 单例模式有多种形式每种形式都在实现单例模式的基本原则上略有不同。 3.1. 懒汉式单例模式Lazy Initialization: 也就是上面展示的代码 特点在首次调用获取实例的方法时才创建单例实例 优点延迟实例化节省资源 缺点需要考虑线程安全 线程安全版本 public class LazySingleton {private static LazySingleton singleton;private LazySingleton(){}public static synchronized LazySingleton getInstance() {if(singleton null){singleton new LazySingleton();}return singleton; } 3.2. 饿汉式单例模式Eager Initialization: 特点在类加载的时候就创建单例实例 优点简单直接、线程安全 缺点加载的时候就实例化可能会实例到不需要使用的类浪费资源 代码 /*** Author: stukk* Description: 饿汉式单例模式* DateTime: 2023-12-17 22:31**/ public class EagerSingleton {private EagerSingleton(){}private static EagerSingleton singleton new EagerSingleton();public static EagerSingleton getInstance(){return singleton;}public void showMessage(){System.out.println(我是饿汉单例模式);} } 3.3.双重检查锁单例模式DCL——Double-Checked-Locking 特点结合了懒汉式与同步锁机制在首次调用获取实例的方法式进行双重检查提高性能。 优点延迟实例化且线程安全性能相对较高 缺点在某些情况下可能还是会出错比如多线程环境下的指令重排序会导致不正确的结果。 示例代码 /*** Author: stukk* Description: 双重检查锁单例模式* DateTime: 2023-12-17 22:41**/ public class DCLSingleton {private DCLSingleton(){}private volatile static DCLSingleton dclSingleton;public static DCLSingleton getInstance(){if(dclSingleton null){synchronized (DCLSingleton.class){if(dclSingleton null){dclSingleton new DCLSingleton();}}}return dclSingleton;}public void showMessage(){System.out.println(我是双重校验锁单例模式);} } 3.4. 枚举单例模式Enum 特点使用枚举类实现单例枚举类保证只有一个实例。 优点简单、线程安全、防止反射和序列化攻击。 示例代码这里以计数器为例子 /*** Author: stukk* Description: 使用枚举实现* DateTime: 2023-12-17 22:46**/ public enum EnumSingleton {INSTANCE; // 假设是个计数器private int counter;// 私有构造函数private EnumSingleton(){counter 0;}// 获取计数器的值public int getCounter(){return counter;}// 计数器public void addCounter(){counter ;}// 其他 操作public void showMessage(){System.out.println(我是枚举单例模式,此时计数器值为getCounter());} }/*** Author: stukk* Description: 客户端* DateTime: 2023-12-17 22:16**/ public class SingletonMode {public static void main(String[] args) {EnumSingleton singleton EnumSingleton.INSTANCE;singleton.showMessage();singleton.addCounter();singleton.showMessage();} }枚举单例模式的使用非常简单只需要使用枚举类的名称后跟 .INSTANCE 即可获取到单例实例无需担心线程安全性或其他实现细节。
http://www.zqtcl.cn/news/83696/

相关文章:

  • wordpress .net潍坊seo排名
  • 网站建设的总体需求wordpress 访问量过大
  • 南软科技网站开发江苏中兴建设有限公司网站
  • 做二手车放在哪个网站好网页界面设计中表单的组成部分有那四种
  • 网站建设公司2018win7系统优化大师
  • 门户网站 建设 通知微信卖货小程序怎么做
  • 浙江省互联网建设网站机械网站建设注意什么
  • 飞猪旅游的网站建设初中生怎么升大专学历
  • 电脑可以做网站服务器么电子商务网站建设与维护论文
  • 阿里巴巴网站建设哪家好长春免费网站制作
  • 专门做折扣的网站有哪些企业管理类的网站
  • 响应式网站开发方法商标设计网站猪八戒
  • 微商网站如何做推广seo推广宣传
  • 在线家装设计平台免费seo人员要先对网站进行诊断
  • 360网站拦截做做一个谷歌网站多少钱
  • 大连网站开发建站自己做一个简介的网页
  • phpcms wap网站搭建动态设计用什么软件
  • 想做一个公司的网站去哪可以做网站开发商可以代刷好评吗
  • 网站如何进行建设WordPress本地可以调出点赞功能吗
  • soho做网站益田附近网站建设
  • 邢台外贸网站建设网站建设中网站需求分析的理解
  • 大学英语作文网站长沙做网站一般多少钱
  • 建站国外百元服务器厦门seo优化
  • 郑州做网站九零后电子商务主要学什么就业方向工资
  • 合肥网站建设 卫来网络天津网站页面设计
  • 上海网站关键词排名优化报价wordpress 上传图片尺寸
  • 哪些网站可以做图片链接湖南招投标信息网官网
  • 织梦系统seo网站模板如何进入谷歌网站
  • 手机网站 cmswordpress主题如何导入演示
  • 代价网站建设五种常见的软件架构