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

成都哪家公司做网站比较好锦州网站建设最低价

成都哪家公司做网站比较好,锦州网站建设最低价,临沂森工木业有限公司,福州朝阳房产网站建设目录 什么是单例模式#xff1f; 定义 单例模式的主要特点 单例模式的几种设计模式 1.懒汉式#xff1a;线程不安全 2.懒汉式#xff1a;线程安全 3.饿汉式 4.双重校验锁 单例模式的优缺点 优点#xff1a; 缺点#xff1a; 适用场景#xff1a; 什么是单例模…目录 什么是单例模式 定义 单例模式的主要特点 单例模式的几种设计模式 1.懒汉式线程不安全 2.懒汉式线程安全 3.饿汉式 4.双重校验锁 单例模式的优缺点 优点 缺点 适用场景 什么是单例模式 定义 单例模式Singleton Pattern是一种创建型设计模式它保证一个类只有一个实例并提供一个全局访问点以供外部代码使用。 单例模式的主要特点 保证了类只有一个实例。由于只有一个实例存在因此可以避免多个实例之间的冲突。 提供了一个全局访问点。通过单例模式可以在任何需要时访问该类的唯一实例方便调用和使用。 能够解决频繁创建和销毁全局使用的类实例的问题。如果一个对象已经被创建了那么以后每次请求该对象时都会直接返回之前创建好的对象实例避免了重复创建和销毁对象的开销提高系统性能。 单例模式的几种设计模式 懒汉式在首次使用时创建实例。 饿汉式在类加载时就创建实例。 双重校验锁采用双锁机制安全且在多线程情况下能保持高性能。 1.懒汉式线程不安全 这种方式是最基本的实现方式这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized所以严格意义上它并不算单例模式 public class LanHan {private LanHan(){}private static LanHan lanHan;public static LanHan getLanHan(){if(lanHannull){lanHan new LanHan();}return lanHan;}public void sayHello(){System.out.println(hello world);} } public class Test {public static void main(String[] args) {LanHan lanHan LanHan.getLanHan();lanHan.sayHello();} } 2.懒汉式线程安全 这种方式具备很好的 lazy loading能够在多线程中很好的工作但是效率很低99% 情况下不需要同步。 优点第一次调用才初始化避免内存浪费。 缺点必须加锁 synchronized 才能保证单例但加锁会影响效率。 public class LanHan {private LanHan(){}private static LanHan lanHan;public static synchronized LanHan getLanHan(){if(lanHannull){lanHan new LanHan();}return lanHan;}public void sayHello(){System.out.println(hello world);} } public class Test {public static void main(String[] args) {LanHan lanHan LanHan.getLanHan();lanHan.sayHello();} } 3.饿汉式 这种方式比较常用但容易产生垃圾对象。 优点没有加锁执行效率会提高。 缺点类加载时就初始化浪费内存。 public class EHan {private EHan(){}private static EHan eHan new EHan();public static EHan getEHan(){return eHan;}public void syHello(){System.out.println(hello world);} } public class Test {public static void main(String[] args) {LanHan lanHan LanHan.getLanHan();lanHan.sayHello();EHan eHan EHan.getEHan();eHan.syHello();} } 4.双重校验锁 这种方式采用双锁机制安全且在多线程情况下能保持高性能。 public class DoubleLock {private static volatile DoubleLock doubleLock;private DoubleLock(){}public static DoubleLock getDoubleLock(){if(doubleLocknull){synchronized (DoubleLock.class){doubleLock new DoubleLock();}}return doubleLock;}public void sayHello(){System.out.println(hello world);} } public class Test {public static void main(String[] args) {LanHan lanHan LanHan.getLanHan();lanHan.sayHello();EHan eHan EHan.getEHan();eHan.syHello();DoubleLock.getDoubleLock().sayHello();} } 单例模式的优缺点 优点 1、在内存里只有一个实例减少了内存的开销尤其是频繁的创建和销毁实例比如管理学院首页页面缓存。 2、避免对资源的多重占用比如写文件操作。 缺点 没有接口不能继承与单一职责原则冲突一个类应该只关心内部逻辑而不关心外面怎么样来实例化。 适用场景 需要全局访问和管理的资源可以确保资源的唯一性和一致性。 例如 1、要求生产唯一序列号。 2、WEB 中的计数器不用每次刷新都在数据库里加一次用单例先缓存起来。 3、创建的一个对象需要消耗的资源过多比如 I/O 与数据库的连接等。
http://www.yayakq.cn/news/4353/

相关文章:

  • 外国人做旅游攻略网站做销售的什么网站好
  • 站长工具名称查网站wordpress 显示作者
  • 商城网站开发与设计品牌vi设计理念
  • 郑州炫彩网站建设中国专业摄影网
  • 换个网站对seo有什么影响广州网站建设开发
  • 石家庄网站模板建站苏州网站seo
  • 网站开发源文件导入asp.net做网站实例
  • 小白怎么学做网站王战营
  • 搭建网站的空间哪里买网站多语言切换
  • 免费网站建太原网站建设工作室
  • 南宁网站建站公司如何做考试网站
  • 网站速度慢的原因开发一个游戏的过程
  • 京东优惠券网站建设wap网站为什么没有了
  • 网站后台上传图片 不可用湖北做网站多少钱
  • 网站没有排名四川建设安全监督管理局网站
  • 微信网站这么做可以看违禁网页的浏览器
  • 深圳网站建设公司首选中国建设银行福清分行网站
  • 城市文化建设的网站网页制作与发布的流程
  • 黄页网站推广方案哪个网站做美食自媒体更好
  • 哪些网站能够免费做公考题网站开发的出路
  • 短视频运营公司网站建设打开网站iis7
  • 嘉兴房地产网站建设优化教程网
  • 中山网站快照优化公司wordpress 功能开发
  • 旅游网站制作内容网站建设推进计划
  • 北京 网站设计网站建设横幅系列素材
  • 用wordpress编写网站昆山网站备案
  • 做公司展示网站晋江网站建设联系电话
  • 山西古建筑网站包头怎样做网站
  • 自己做电台直播的网站绿色主题+wordpress
  • 长沙网站建设有限公司网页小游戏开发