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

广州做网站找酷爱网络视频号怎么付费推广

广州做网站找酷爱网络,视频号怎么付费推广,中国建设报社网站,做网站测试心得系列文章目录 【设计模式】之责任链模式【设计模式】之策略模式【设计模式】之模板方法模式 文章目录 系列文章目录 前言 一、什么是单例模式 二、如何使用单例模式 1.单线程使用 2.多线程使用(一) 3.多线程使用(二) 4.多线程使用…

系列文章目录

  • 【设计模式】之责任链模式
  • 【设计模式】之策略模式
  • 【设计模式】之模板方法模式

文章目录

系列文章目录

前言

一、什么是单例模式

二、如何使用单例模式

1.单线程使用

2.多线程使用(一)

3.多线程使用(二)

4.多线程使用(三)双重检测

总结


前言

今天给大家介绍23种设计模式中的单例模式,也是大家比较常见的一种设计模式,但是,里面的一些细节还是有很多人会忽略的。🌈


一、什么是单例模式

单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。

二、如何使用单例模式

1.单线程使用

这种方式只适合单线程下使用,多线程下会实例化多个对象,不一定是10个。

public class Single {private static Single instance;private Single(){System.out.println("实例化Single对象");}public static Single getInstance(){if (instance == null) instance = new Single();return instance;}
}

测试:

public class test {public static void main(String[] args) {for (int i = 0; i < 10; i++) {Single.getInstance();}}
}
测试结果:/*实例化Single对象Process finished with exit code 0*/

2.多线程使用(一)

只需添加一个synchronized 关键字即可

public class Single {private static Single instance;private Single(){System.out.println("实例化Single对象");}public synchronized static Single getInstance(){if (instance == null) instance = new Single();return instance;}
}

测试:

public class test {public static void main(String[] args) {for (int i = 0; i < 10; i++) {new Thread(()->{Single.getInstance();}).start();}}
}
测试结果:/*实例化Single对象Process finished with exit code 0*/
虽然添加 synchronized 可以在多线程下保证实例化一次对象,但是因为加锁,会造成系统资源浪费。假设我们遍历10次,相当经过多次经过锁,而我们只需要保证第一次实例化成功,也就是加一次锁,后面的会经过逻辑判断,不会实例化对象。因此,我们引出了下面一种方法。

3.多线程使用(二)

在类加载的时候直接实例化对象。

public class Single {private static Single instance = new Single();private Single(){System.out.println("实例化Single对象");}public  static Single getInstance(){return instance;}
}

测试结果跟上方一样

4.多线程使用(三)双重检测

这种方式也能大大减少锁带来的性能消耗。

public class Single {private volatile static Single instance ;private Single(){System.out.println("实例化Single对象");}public static Single getInstance(){if (instance == null){synchronized (Single.class){if (instance == null){instance = new Single();}}}return instance;}
}

总结

以上就是单例模式在单多线程下的使用以及优化,今天就先介绍到这里,我们下期再见。✋

http://www.yidumall.com/news/6720.html

相关文章:

  • 商丘购物网站开发设计运营是做什么的
  • 静态网站维护头条新闻最新消息
  • 青岛社保网站官网登录百度百科优化
  • 做旅游宣传哪个网站好国外直播平台tiktok
  • 信阳公司做网站排名优化公司电话
  • 小说网站模板西安网站制作推广
  • 网站建设免费国外bt搜索引擎下载
  • 不用代码做网站杭州百度公司在哪里
  • 做搜狗网站优化点击百度统计手机app
  • 政府网站建设作方案网络广告营销方案策划内容
  • 做影集的网站或软件下载百度seo关键词排名 s
  • 百度搜索引擎推广怎么弄台州seo排名扣费
  • 成都手机网站建设价格seo推广培训资料
  • 棋牌app开发价格表自己做seo网站推广
  • 毕业设计做网站做什么好淘宝关键词优化技巧教程
  • 网站建设需要什么硬件和软件有哪些seo综合查询怎么进入网站
  • 做外贸到那个网站网站seo系统
  • 网站单页是什么意思无锡seo公司哪家好
  • 品牌网站建设美丽什么软件可以发布推广信息
  • 浙江政务服务网seo网站诊断价格
  • 做购物商城网站设计html友情链接代码
  • wordpress简洁cms主题seo每日工作
  • 甘肃网站开发企业seo优
  • 做期货浏览哪些网站如何进行品牌营销
  • 金山网站建设推广网站打开
  • 网站流程图设计关键词点击价格查询
  • 免费个人网站 上传百度统计数据分析
  • 商城网站数据库沈阳高端关键词优化
  • 网站开发 公司查权重网站
  • 怎样推广一个网站东莞网络推广公司