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

音乐网站是否可以做浅度链接长沙优化科技

音乐网站是否可以做浅度链接,长沙优化科技,上海网页制作费用,聊城做网站公司信息单例模式 什么是单例模式? 1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。 应用:数据库的连接类,这样就可以确保只创建一次。节省资源。 单例模式代码:涉及懒加载…
单例模式

什么是单例模式?

  • 1、单例类只能有一个实例。
  • 2、单例类必须自己创建自己的唯一实例。
  • 3、单例类必须给所有其他对象提供这一实例。

应用:数据库的连接类,这样就可以确保只创建一次。节省资源。

单例模式代码:涉及懒加载、双重检查锁、volatile防止指令重排。

懒加载:在调用方法的时候才初始化对象。对应的是饿汉模式:private static Singleton singleton=new Singleton();

双检锁: 第一个是指synchronized(Singleton.class){…} 之所以将锁加在这里而不是方法上是因为加在方法上的话,多个线程调用这个方法都要抢锁,而实际上我们只需要保证创建对象时线程安全即可。所以为了更细粒度的锁我们加在了判空前。

第二个是指锁内还写了一个判空条件。这是因为线程A和B都进入了第一个判空条件内,然后这时候A加了锁,开始创建创建对象。结束后B线程也会创建对象。所以就需要再加一个判空条件。

volatile: singleton=new Singleton();其实分为三步:1.给Singleton分配空间。2.初始化对象(调用Singleton的构造方法)3.将singleton这个引用指向刚分配的内存地址。

但如果指令重排按照1,3,2的顺序进行。如果2还没有执行完,这时再来一个线程B发现singleton不为空了,直接return singleton,而我们的构造方法还没执行呢!这时就会出错。

class SingletonLazy {// 使用private防止其他类使用// 使用双重检查锁 必须加上volatile 防止指令重排private volatile static SingletonLazy singletonLazy;// 私有化构造器private SingletonLazy() {};public  static SingletonLazy getInstance() {// 双重检查锁if (singletonLazy == null) {synchronized (SingletonLazy.class) {//双重检查锁if (singletonLazy == null) {singletonLazy = new SingletonLazy();}}}return singletonLazy;}
}
http://www.ritt.cn/news/25965.html

相关文章:

  • 做本地房产网站深圳网站优化软件
  • 广安网站seo优化seo方法
  • 深圳市住建局网站官网朋友圈推广怎么收费
  • 什么时候能用ipv6做网站吉林网络公司
  • 谁知道深圳松岗天桥旁的网站建设长沙网站公司品牌
  • 凡科轻站2020做seo还有出路吗
  • 哈尔滨市香坊区建设局网站如何搜索关键词热度
  • 保护膜 东莞网站建设热狗网站排名优化外包
  • 网站视觉优化怎么做seo是干啥的
  • 保定网页模板建站关键词排名优化软件价格
  • 怎么做推广和宣传企业做网站中文搜索引擎排名
  • wordpress支付宝捐赠插件seo网站关键词排名快速
  • 太原网站开发培训nba最新消息交易
  • 家用电器网页设计实训报告苏州网站优化排名推广
  • WordPress加载语言包最新seo新手教程
  • 确定网站风格qq代刷网站推广免费
  • 网页设计书籍推荐惠州seo建站
  • lamp环境做网站网站搜索量查询
  • 手机网站建设方法搜索引擎优化实验报告
  • 北京微网站建设设计服务百度关键词排名突然下降很多
  • 达川网站制作友链之家
  • 权威发布是鼠头百度竞价优化
  • 北京企业推广神马seo教程
  • 网站建设年份查询全网搜索
  • 上海网站制作建设多少钱营销型网站建设报价
  • 学院网站设计模板seo的培训班
  • 安徽湖滨建设集团有限公司网站淘宝客seo推广教程
  • 在线网站cms识别营销策划方案
  • 怎么做网站宣传厦门seo全网营销
  • 网站后台做数据库备份代码2022今天刚刚发生地震了