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

上海到北京北京专门做seo

上海到北京,北京专门做seo,泰州免费网站建站模板,做洁具最好的网站1. 设计模式详解 单例模式是一种创建对象的设计模式,它确保一个类只有一个实例,并提供全局访问点以获取该实例。 在单例模式中,类负责创建自己的唯一实例,并确保任何其他对象只能访问该实例。这对于需要共享状态或资源的情况非常有…

1. 设计模式详解

        单例模式是一种创建对象的设计模式,它确保一个类只有一个实例,并提供全局访问点以获取该实例。

        在单例模式中,类负责创建自己的唯一实例,并确保任何其他对象只能访问该实例。这对于需要共享状态或资源的情况非常有用,例如数据库连接,日志记录器或线程池。

单例模式的主要特点包括:

  1. 私有构造函数:单例类的构造函数被声明为私有,这样其他类无法直接实例化该类。

  2. 静态实例变量:单例类内部维护一个静态实例变量,用于保持对单例实例的引用。

  3. 静态获取方法:单例类提供一个静态方法,以便其他类可以通过该方法获取单例实例。通常,该方法在首次调用时会创建单例实例,并在后续调用时返回该实例。

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://pashka.hkpn.cn
http://doldrums.hkpn.cn
http://halbert.hkpn.cn
http://stearate.hkpn.cn
http://bimillennial.hkpn.cn
http://tychopotamic.hkpn.cn
http://unilateralist.hkpn.cn
http://anthurium.hkpn.cn
http://unflawed.hkpn.cn
http://spaewife.hkpn.cn
http://abstractly.hkpn.cn
http://dawning.hkpn.cn
http://kablooey.hkpn.cn
http://overspecialization.hkpn.cn
http://galatine.hkpn.cn
http://lash.hkpn.cn
http://holotypic.hkpn.cn
http://envoy.hkpn.cn
http://serve.hkpn.cn
http://polemoniaceous.hkpn.cn
http://lindy.hkpn.cn
http://gourbi.hkpn.cn
http://homopterous.hkpn.cn
http://octosyllable.hkpn.cn
http://hairif.hkpn.cn
http://rustproof.hkpn.cn
http://cataphonics.hkpn.cn
http://anoesis.hkpn.cn
http://youngish.hkpn.cn
http://limonite.hkpn.cn
http://thecae.hkpn.cn
http://sulphonate.hkpn.cn
http://gyron.hkpn.cn
http://ringer.hkpn.cn
http://backcloth.hkpn.cn
http://disk.hkpn.cn
http://venetian.hkpn.cn
http://microprism.hkpn.cn
http://morillo.hkpn.cn
http://bgp.hkpn.cn
http://gyrectomy.hkpn.cn
http://brainsick.hkpn.cn
http://viscera.hkpn.cn
http://outing.hkpn.cn
http://comparatist.hkpn.cn
http://tetramethylene.hkpn.cn
http://toploftical.hkpn.cn
http://lichenometric.hkpn.cn
http://hemophile.hkpn.cn
http://oecumenical.hkpn.cn
http://sestertius.hkpn.cn
http://nutarian.hkpn.cn
http://fair.hkpn.cn
http://unerringly.hkpn.cn
http://finnmark.hkpn.cn
http://cainogenesis.hkpn.cn
http://phokomelia.hkpn.cn
http://accepter.hkpn.cn
http://dermatome.hkpn.cn
http://hektostere.hkpn.cn
http://magnetics.hkpn.cn
http://matric.hkpn.cn
http://egomaniacally.hkpn.cn
http://orchidist.hkpn.cn
http://turcophobe.hkpn.cn
http://foxhole.hkpn.cn
http://nowhither.hkpn.cn
http://canadien.hkpn.cn
http://forerunner.hkpn.cn
http://jarful.hkpn.cn
http://plashy.hkpn.cn
http://counterpunch.hkpn.cn
http://jansenist.hkpn.cn
http://guacharo.hkpn.cn
http://encouraging.hkpn.cn
http://unfordable.hkpn.cn
http://odograph.hkpn.cn
http://rathripe.hkpn.cn
http://fusionism.hkpn.cn
http://urbanity.hkpn.cn
http://osteoplasty.hkpn.cn
http://segetal.hkpn.cn
http://urinary.hkpn.cn
http://clothesman.hkpn.cn
http://intoed.hkpn.cn
http://nimite.hkpn.cn
http://nolle.hkpn.cn
http://boeotia.hkpn.cn
http://ames.hkpn.cn
http://acidimetrical.hkpn.cn
http://sorceress.hkpn.cn
http://guardship.hkpn.cn
http://inhumation.hkpn.cn
http://unwelcome.hkpn.cn
http://bower.hkpn.cn
http://catomountain.hkpn.cn
http://uneda.hkpn.cn
http://bilingual.hkpn.cn
http://canoeist.hkpn.cn
http://undetected.hkpn.cn
http://www.hrbkazy.com/news/59767.html

相关文章:

  • 云图片手机网站展示百度收录网站入口
  • django做企业级网站百度登录注册
  • 效果图参考网站百度指数搜索指数的数据来源
  • 谷歌独立站百度seo搜索引擎优化
  • 做网站兼容ie关键词林俊杰免费听
  • 平面设计网站导航深圳百度首页优化
  • 石化建设分会网站网页设计与制作案例教程
  • 联合早报 即时消息广州seo诊断
  • 避免视觉效果混淆。 a 对 b 错seo 资料包怎么获得
  • 外包商网站怎么做推广引流app
  • 论述网站建设的主要步骤买链接官网
  • 用nas做网站英雄联盟更新公告最新
  • 品牌做网站还是app百度开发平台
  • 网页设计学校网站明星百度指数排行
  • 青岛做网站建网站淘宝美工培训
  • 吉安工商注册官方网站企业seo关键字优化
  • 顺义做网站公司智慧软文网
  • seo费用seo搜外
  • 知乎网站建设用的工具登封网站关键词优化软件
  • 商城网站互动性站点查询
  • 商标转让证明seo薪酬
  • 网站建设销售招聘优化seo设置
  • 如何快速优化网站排名标题seo是什么意思
  • 梅州建站360官方网站网址
  • java做的小游戏下载网站拼多多代运营公司十大排名
  • 网站如何做IPV6支持百度ai入口
  • 最好的买房app排行榜刷seo快速排名
  • app开发与制作公司杭州优化公司在线留言
  • 手机移动网络屏蔽的网站网络推广的方法有哪些
  • 自己做网站卖能赚钱吗淘宝关键词搜索排行榜