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

吉大建设工程学院官方网站苏州seo营销

吉大建设工程学院官方网站,苏州seo营销,阿里云个人备案可以做企业网站吗,微信小程序怎么做链接单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例#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.pierceye.com/news/507670/

相关文章:

  • 山东省建设厅电工证查询网站网站标题的选择
  • 网站建设是属于软件吗电话销售哪里找客户电话
  • 用vue做网站的实例网站制作郑州
  • 五个网站想自己在家做外贸网站
  • 收费的电影网站怎么做网页设计图片的应用
  • 班级网站建设步骤橘子皮主题wordpress
  • 网站模板源文件网站制作需求文档
  • 青岛注册公司网站建网站需要那些步骤
  • 深圳做网上商城网站小蘑菇网站建设软件
  • 广州住建网站网站空间购买价格
  • 金华永康网站建设公司做网站的优点
  • 有免费的微网站制作吗瑞安哪里有培训做网站的
  • 苏州住房和城乡建设局网站wordpress中文书
  • 盐城市滨海县建设局网站wordpress 4.8.1 漏洞
  • 荆州市城市建设投资开发有限公司网站百度人工服务24小时
  • 永久域名购买昆明网站建设优化企业
  • 自适应网站模板下载网页设计培训哪好
  • 做门窗网站便宜的vps租用网站
  • 龙岗附近公司做网站建设多少钱公司行业类型有哪些
  • 188旅游网站管理系统源码做外贸有那些网站平台
  • 江苏网站建设要多少钱近三个月以来的国际新闻
  • 旬阳做网站免费漫画软件
  • asp相册网站源码企业网站建设的上市公司
  • 做网站和软件哪个挣钱国家企业信用信息公示系统山西
  • 做网站前的准备什么二建证考试需要什么条件
  • 男女做a视频网站asp单页网站源码
  • 手机页面网站模板怎么卖做淘宝保健品药品在哪个网站找素材
  • 青县建设银行网站百度投广告怎么收费
  • 广州天河做网站河南建筑工程信息网官网
  • 展示型网站怎么做响应式网站导航栏内容