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

重庆綦江网站建设宁波网站建设模板下载

重庆綦江网站建设,宁波网站建设模板下载,360网站在系统那里,如何设计一个完整的网站单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例#xff0c;然后通过提供一个全局唯一获取该类实例的方法帮助用户获取类的实例#xff0c;用户只需也只能通过调用该方法获取类的实例。 单例模式的设…单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例然后通过提供一个全局唯一获取该类实例的方法帮助用户获取类的实例用户只需也只能通过调用该方法获取类的实例。 单例模式的设计保证了一个类在整个系统中同一时刻只有一个实例存在主要被用于一个全局类的对象在多个地方被使用并且对象的状态是全局变化的场景下。同时单例模式为系统资源的优化提供了很好的思路频繁创建和销毁对象都会增加系统的资源消耗而单例模式保障了整个系统只有一个对象能被使用很好地节约了资源。 单例模式的实现每次在获取对象前都先判断系统是否已经有这个单例对象有则返回没有则创建。需要注意的是单例模型的类构造函数是私有的只能由自身创建和销毁对象不允许除了该类的其他程序使用new关键字创建对象及破坏单例模式。 单例模式的常见写法懒汉模式线程安全、饿汉模式、静态内部类、双重校验锁。 1懒汉模式线程安全 定义一个私有的静态对象instance之所以定义instance为静态是因为静态属性或方法是属于类的能够很好地保障单例对象的唯一性然后定义一个加锁的静态方法获取该对象如果该对象为null则定义一个对象实例并将其赋值给instance这样下次再获取该对象时便能够直接获取了。因为在获取对象实例时做了加锁操作所以懒汉模式是线程安全的。 package cn.jaa.singleton_pattern;/*** author : Jaa* date : 2023-11-28* description:*/ public class LazySingleton {// 私有的静态对象instanceprivate static LazySingleton instance;// 构造方法private LazySingleton() {}// 加锁的静态方法获取该对象加锁则线程安全public static synchronized LazySingleton getInstance() {if (instance null) {instance new LazySingleton();}return instance;} } 2饿汉模式 饿汉模式指在类中直接定义全局的静态对象的实例并初始化然后提供一个方法获取该实例对象。懒汉模式和饿汉模式的最大不同在于懒汉模式在类中定义了单例但是并未实例化实例化的过程是在获取单例对象的方法中实现的也就是说在第一次调用懒汉模式时该对象一定为空然后去实例化对象并赋值这样下次就能直接获取对象了而饿汉模式是在定义单例对象的同时将其实例化的直接使用便可。也就是说饿汉模式在类加载完成后该类的实例便已经存在于JVM中了。 package cn.jaa.singleton_pattern;/*** author : Jaa* date : 2023-11-28* description:*/ public class HungrySingleton {private static HungrySingleton instance new HungrySingleton();public HungrySingleton() {}public static HungrySingleton getInstance() {return instance;} } 3、静态内部类 静态内部类通过在类中定义一个静态内部类将对象实例的定义和初始化放在内部类中完成我们在获取对象时要通过静态内部类调用其单例对象。之所以这样设计是因为类的静态内部类在JVM中是唯一的这很好地保障了单例对象的唯一性。 package cn.jaa.singleton_pattern;/*** author : Jaa* date : 2023-11-28* description:*/ public class Singleton {private Singleton() {}private static class SingletonHolder {private static final Singleton INSTANCE new Singleton();}public static Singleton getInstance() {return SingletonHolder.INSTANCE;} } 4、双重校验锁 双锁模式指在懒汉模式的基础上做进一步优化给静态对象的定义加上volatile锁来保障初始化时对象的唯一性在获取对象时通过synchronized (Singleton.class)给单例类加锁来保障操作的唯一性。 package cn.jaa.singleton_pattern;/*** author : Jaa* date : 2023-11-28* description:*/ public class Lock2Singleton {// 对象锁private volatile static Lock2Singleton instance;private Lock2Singleton() {}public static Lock2Singleton getInstance() {if (instance null) {// synchronized方法锁synchronized (Singleton.class) {if (instance null) {instance new Lock2Singleton();}}}return instance;} }
http://www.huolong8.cn/news/314956/

相关文章:

  • 网站建设好怎么优化材料网站建设
  • iis一个文件夹配置多个网站迅雷网站做爰视频
  • 天河网站建设集团泉州网站建设哪家专业
  • 域名解析网站打不开做网站都能赚钱吗
  • 免费做网站有哪些wordpress 中文主题 推荐
  • 有什么网站可以做电台wordpress怎么添加导航分类
  • 智慧团建网站首页软件属于网站开发吗
  • 网站分几类wordpress建立相册
  • 零基础搭建网站类似火脉的推广平台
  • 50强网站建设公司西安模板做网站
  • 怎么建设一个外国网站网站几几年做的怎么查
  • 咸阳学校网站建设费用网站维护等
  • 大连城建设计研究院网站网站建设公司天强科技
  • 公司介绍网站源码wordpress进入数据库
  • 做视频网站服务器要求吗哪个网站做免费广告好
  • 企业网站建设需要哪些设备uniapp跳转内部页面
  • 公益网站建设的意义短视频营销推广公司
  • 2018网站开发最流行的语言wordpress做导航页面
  • 高性能网站建设指南 京东网络seo推广培训
  • 新翼设计网站建设公司潍坊专升本培训机构
  • 网站建设管理和维护移动互联网开发大作业
  • 有哪些做头像的网站中山建设企业网站
  • 高州网站开发公司怎么做360网站排名
  • 暗网网站有那些软件服务网站设计费如何做分录
  • 宁波网站推广软件哪家强网站建设兼职在哪找
  • 柳州哪家公司做网站好组工网站建设方案
  • 网站建设淘宝属于什么类目广州建设工程领域平台登录
  • pc网站建设意见大气娱乐搞笑网站源码
  • 企业网站keywords最多几个吉林做网站公司
  • 网站建设论证方案涪城网站建设