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

jsp电商网站开发流程织梦dedecms蓝色培训机构模板教育学校学院整站php网站源码

jsp电商网站开发流程,织梦dedecms蓝色培训机构模板教育学校学院整站php网站源码,广州做门户网站,家乡网页设计教程1. 单例模式#xff0c;Singleton Pattern 1.1 Definition 定义 单例模式是确保类有且仅有一个实例的创建型模式#xff0c;其提供了获取类唯一实例#xff08;全局指针#xff09;的方法。 单例模式类提供了一种访问其唯一的对象的方式#xff0c;可以直接访问#xf…1. 单例模式Singleton Pattern 1.1 Definition 定义 单例模式是确保类有且仅有一个实例的创建型模式其提供了获取类唯一实例全局指针的方法。 单例模式类提供了一种访问其唯一的对象的方式可以直接访问而不需要实例化该类的对象。 1.2 Motivation 动机 Sometimes we want just a single instance of a class to exist in the system. For example, we want just one window manager, or just one factory for a family of products. 有时我们只希望系统中存在一个类的单个实例。例如我们只需要一个窗口管理器或者一个产品系列只需要一个工厂。 1.3 Benefit 益处 Controlled access to sole instance. 对唯一实例的受控访问More flexible than static class (class with all static properties and methods). 比静态类灵活 Static class must be stateless; Singleton could be stateful. 静态类必须无状态单例可以有状态 1.4 实现 私有构造方法获取唯一实例引用的静态方法 2. 单例模式类型 2.1 懒汉式-线程不安全 懒加载是线程安全否 public class LazyLoadingSingleton {private static LazyLoadingSingleton lazyLoadingSingleton;private LazyLoadingSingleton() {}public static LazyLoadingSingleton singleton() {if (lazyLoadingSingleton null) {lazyLoadingSingleton new LazyLoadingSingleton();}return lazyLoadingSingleton;}public void log(String msg) {System.out.println(Log: msg);} }2.2 懒汉式-线程安全 懒加载是线程安全是优点首次调用初始化避免内存占用缺点影响效率 public class LazyLoadingSingleton {private static LazyLoadingSingleton singleton;private LazyLoadingSingleton() {}public static synchronized LazyLoadingSingleton singleton() {if (singleton null) {singleton new LazyLoadingSingleton();}return singleton;}public void log(String msg) {System.out.println(Log: msg);} } 2.3 饿汉式 建议采用 懒加载否线程安全是优点未加锁效率高缺点类加载时初始化浪费内容 public class ClassLoadSingleton {private static ClassLoadSingleton singleton new ClassLoadSingleton();private ClassLoadSingleton() {}public static ClassLoadSingleton singleton() {return singleton;}public void log(String msg) {System.out.println(Log: msg);} }解法静态内部类延迟类加载的对象实例化 public class ClassLoadSingleton {// private static ClassLoadSingleton singleton new ClassLoadSingleton();private static class SingleHandler {private static final ClassLoadSingleton singleton new ClassLoadSingleton();}private ClassLoadSingleton() {}public static ClassLoadSingleton singleton() {return SingleHandler.singleton;}public void log(String msg) {System.out.println(Log: msg);} } 2.4 双重校验锁校验是否为空 双次校验是否为空类加锁在双次校验之中 可以使用 懒加载是线程安全是优点保证多线程下的效率 package singleton;public class DoubleCheckSingleton {private volatile static DoubleCheckSingleton singleton;private DoubleCheckSingleton() {}public static DoubleCheckSingleton singleton() {if (singleton null) {synchronized (DoubleCheckSingleton.class) {if (singleton null) {singleton new DoubleCheckSingleton();}}}return singleton;}public void log(String msg) {System.out.println(Log: msg);} } 关于 volatile 易失性关键字 volatile 提醒编译器它后面所定义的变量随时都有可能改变因此编译后的程序每次需要存储或读取这个变量的时候都会直接从变量地址中读取数据。如果没有 volatile 关键字则编译器可能优化读取和存储可能暂时使用寄存器中的值在某一线程写入寄存器但且未写入变量地址如果这个变量由别的程序更新了的话将出现不一致的现象。
http://www.w-s-a.com/news/677702/

相关文章:

  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行
  • 广州短视频网站开发东莞市建设信息网
  • 建设网站如果赚钱电脑可以做服务器部署网站吗
  • 网站建设的编程专门做面包和蛋糕的网站
  • 档案网站建设比较分析南京建站公司
  • 哪个网站可以做店招傻瓜式wordpress
  • 网站开发项目经理职责青岛模版网站建设
  • 企业建站哪个好网站建设所用程序
  • 网站建设seo视频定制图片软件
  • 404错误直接转向到网站首页四川省建筑施工企业人员考试平台
  • 手表电商网站智能展厅
  • 南海网站推广梅州做网站公司
  • 昆明专业网站建设公司成都外贸网站建设费用
  • php mysql网站开发项目公司网站宣传设计
  • 自己做网站服务器的备案方法怎么查网站点击量
  • 信息产业部icp备案中心网站织梦做双语网站
  • 爱站网站长seo综合查询工具局网站信息内容建设 自查报告
  • 我想建一个网站怎么建淄博网站推广那家好
  • 做网站和app需要多久河南自助建站建设代理
  • 大连做企业网站的公司宣传平台有哪些类型
  • 如何用微信做网站免费设计logo网站有哪些
  • 服务平台型网站余姚网站定制
  • 网站搭建联系方式太平阳电脑网网站模板
  • 请简述网站制作流程html5网络公司网站模板
  • 海尔集团企业网站建设分析重庆市建设银行网站
  • 介绍公司的网站有哪些广西壮族自治区
  • 网站做rss wordpress9 1短视频安装软件
  • 网站建设价格西安室内设计网站排行榜前十名知乎
  • 用nas建设服务器网站用vs做音乐网站