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

成都网站建设需多少钱代理浏览器

成都网站建设需多少钱,代理浏览器,投资网站建设公司,低调赚大钱的灰色行业单例模式是设计模式的一种#xff0c;先谈谈什么是设计模式#xff1f; 大家应该都知道棋谱、剑谱之类的#xff0c;就是一些“高手”在经历过长期的累计之后#xff0c;更具经验写出的具有固定套路的处理“方法”#xff0c;只要按照这个套路来#xff0c;在对局之中必然…单例模式是设计模式的一种先谈谈什么是设计模式 大家应该都知道棋谱、剑谱之类的就是一些“高手”在经历过长期的累计之后更具经验写出的具有固定套路的处理“方法”只要按照这个套路来在对局之中必然是不会吃亏的甚至能够一招制敌。 那么在我们日常的开发中也有大佬们针对一些十分常见的场景抽象出固定的套路。一些小白在学习了大佬总结的设计模式之后就像是掌握了套路针对适用的场景就不会吃亏。 单例模式的使用场景是什么呢单例模式能够保证某个类的在程序中只存在唯一的一份就算是new多个实例实际上也是同一份。 这一点在很多场景上都需要. 比如 JDBC 中的 DataSource 实例就只需要一个. 单例模式的具体实现方式可以分为 饿汉模式 和 懒汉模式 饿汉模式 类加载的同时创建实例。 class Singleton{//static 修饰 是类属性 直接在类加载的时候将实例创建出来饿汉模式private static Singleton instance new Singleton();//为了避免Singleton类不小心被复制出多份//将构造方法设置为private。这样在类外面就没有办法通过new的方式来创建 Singleton这个实例了private Singleton() {}public static Singleton getInstance(){return instance;} } 懒汉模式-单线程版本 类加载的时候不创建实例. 第一次使用的时候才创建实例. class SingletonLazy{private static SingletonLazy instance null;private SingletonLazy(){}public static SingletonLazy getInstance(){if(instance null){instance new SingletonLazy();}return instance;} } 懒汉模式-多线程版本 为什么这里的懒汉模式需要考虑多线程版本呢因为上面的单线程的代码存在线程安全的问题。不安全是因为在getInstance当中有对instance的写操作涉及到写操作的时候就要小心了。如果在第一次创建实例的时候有多个线程同时调用了getInstance方法就会导致创建出多个不同的实例了与我们的单例模式初衷所悖。因此需要对这里的写操作加锁 class Singleton {private static Singleton instance null;private Singleton() {}public synchronized static Singleton getInstance() {if (instance null) {instance new Singleton();}return instance;} } 懒汉模式-多线程改进版本 上面的代码还存在着两个不足 加锁是一个开销比较高的操作我们也看到了之所以线程不安全是因为在第一次创建实例的时候有可能有多个线程同时施行导致了创建出多个不同的实例。那么我们只需要针对首次创建实例的时候加锁后续的操作就没有必要加锁了。这样可以提升很大的效率。同时为了避免“内存可见性”导致读取的instance存在偏差于是补充上volatile。 class SingletonThread {private static volatile SingletonThread instance null;private SingletonThread() {}public static SingletonThread getInstance() {if (instance null) {synchronized (SingletonThread.class) {if (instance null) {instance new SingletonThread();}}}return instance;} } 注意理解两个if判定。 虽然两个if的判定条件是一样的但是两者的含义却大大不同。第一个if判定是判定instance是否是第一次创建如果没有创建的话就开始创建实例并且加锁。第二个if判定抢夺到锁后instance是否已经被创建了。两个if语句不可以省略任意一个。
http://www.w-s-a.com/news/714330/

相关文章:

  • 个人工作室注册条件温州seo结算
  • 360免费建站系统中国建设银行官网站黄金部王毅
  • 罗源福州网站建设个体户可以网站备案吗
  • 网站开发 专有名词pc网站建设和推广
  • 上海部道网站 建设conoha wordpress
  • 手机测评做视频网站宝塔可以做二级域名网站么
  • 代理公司注册济南重庆seo优化效果好
  • 佛山市骏域网站建设专家徐州网站建设价格
  • 公司做网站多济南好的网站建设公司排名
  • 网站维护的方式有哪几种该网站在工信部的icp ip地址
  • 中小企业服务中心网站建设做考勤的网站
  • 大连网站建设报价wordpress实用功能
  • 学校网站建设自查报告电脑网站制作教程
  • 适合推广的网站世界搜索引擎公司排名
  • 合肥网站建设费用ppt在哪个软件制作
  • 湖南省住房和城乡建设厅门户网站网站建设课程性质
  • 如何设计公司网站公司网站空间要多大
  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面
  • 宿迁公司做网站手机免费创建网站的软件