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

国外网站空间租用哪个好宜昌网站制作公司亿腾

国外网站空间租用哪个好,宜昌网站制作公司亿腾,如何站自己做网站,相亲网站做期货现货贵金属的人提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、为什么要用单例模式二、单例模式的六种实现2.1 饿汉式2.1.1 饿汉式代码实现2.1.2 饿汉式代码实现要点解析2.1.3 饿汉式代码实现优点2.1.4 饿汉式代码实现缺… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、为什么要用单例模式二、单例模式的六种实现2.1 饿汉式2.1.1 饿汉式代码实现2.1.2 饿汉式代码实现要点解析2.1.3 饿汉式代码实现优点2.1.4 饿汉式代码实现缺点 2.2 懒汉式1.02.2.1 懒汉式1.0代码实现2.2.2 懒汉式1.0代码实现要点解析2.2.3 懒汉式1.0代码实现优点2.2.4 懒汉式1.0代码实现缺点 2.3 懒汉式2.02.3.1 懒汉式2.0代码实现2.3.2 懒汉式2.0代码实现要点解析2.3.3 懒汉式2.0代码实现优点2.3.4 懒汉式2.0代码实现缺点 2.4 懒汉式3.0——双重检查Double Check2.4.1 双重检查代码实现2.4.2 双重检查代码实现要点解析2.4.3 双重检查代码实现优点2.4.4 双重检查代码实现缺点 2.5 静态内部类推荐2.5.1 静态内部类代码实现2.5.2 静态内部类代码实现要点解析2.5.3 静态内部类代码实现优点2.5.4 静态内部类代码实现缺点2.5.5 静态内部类与饿汉式对比 2.6 枚举推荐2.6.1 枚举代码实现2.6.2 枚举代码实现要点解析2.6.3 枚举实现优点 前言 由于设计模式在面向对象中起着举足轻重的作用在面试中很多公司都喜欢问一下有关设计模式的问题。在常用的设计模式中Singleton单例模式是唯一一个能用短短几十行代码完整实现的模式因此写一个Singletion类型是一个很常见的面试题。 一、为什么要用单例模式 节省内存单例对象可避免频繁的创建与销毁带来性能的提升。 在计算机系统中线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。 二、单例模式的六种实现 2.1 饿汉式 2.1.1 饿汉式代码实现 public class Singleton{private Singleton(){}private static Singleton instance new Singleton();public static Singleton getInstance(){return instance;} }2.1.2 饿汉式代码实现要点解析 1、私有构造 2、创建私有静态实例 3、提供公有静态get方法返回该静态实例 2.1.3 饿汉式代码实现优点 1、实现简单 2、无线程安全问题 2.1.4 饿汉式代码实现缺点 1、初始化耗时导致系统启动缓慢 2、在类装载的时候就完成了实例化没有做到Lazy Loading延迟加载、按需加载 3、极端情况下还是可以拿到多实例如通过反射。 2.2 懒汉式1.0 2.2.1 懒汉式1.0代码实现 public class Singleton{private Singleton(){}private static Singleton instance null;public static Singleton getInstance(){if(instance null){instance new Singleton();}return instance;} }2.2.2 懒汉式1.0代码实现要点解析 1、私有构造 2、初始化一个为null的静态实例instance 3、提供公有静态get方法判断instance为null时则创建该对象并赋给instance然后返回该静态实例 2.2.3 懒汉式1.0代码实现优点 1、延迟加载在使用时才会开辟空间 2.2.4 懒汉式1.0代码实现缺点 1、线程不安全只能在单线程情况下使用在多线程情况下一个线程进if(instance null)判断中还未来得及创建对象另外一个线程也来到判断语句这时也会通过判断这样就会创建多个实例。 总的来说在多线程环境中不能使用这种方式。 2.3 懒汉式2.0 2.3.1 懒汉式2.0代码实现 public class Singleton{private Singleton(){}private static Singleton instance null;public static synchronized Singleton getInstance(){if(instance null){instance new Singleton();}return instance;} }2.3.2 懒汉式2.0代码实现要点解析 1、私有构造 2、创建私有静态实例 3、提供加synchronized的公有静态get方法返回该静态实例 2.3.3 懒汉式2.0代码实现优点 1、用的时候开辟内存 2、解决线程安全问题 2.3.4 懒汉式2.0代码实现缺点 1、效率太低。下一个线程想要获取对象必须等待上一个线程释放锁之后才能获取。每次调用都需要获取锁与释放锁在大量并发请求时将产生性能问题。 2、并发度低。由于加入了synchronized并行度为1导致并发度低。 3、极端情况下还是可以拿到多实例,如通过反射。 2.4 懒汉式3.0——双重检查Double Check 2.4.1 双重检查代码实现 public class Singleton{private Singleton(){}private static Singleton instance null;public static synchronized Singleton getInstance(){if(instance null){//这个检查是提高效率的synchronized (Singleton.class){if(instance null){//这个检查是保证线程安全的instance new Singleton();}}}return instance;} }2.4.2 双重检查代码实现要点解析 1、私有构造 2、创建私有静态实例 3、提供加synchronized的公有静态get方法返回该静态实例该get方法中首先判断instance是否为null然后加个synchronized块里面再对instance进行判断为空才创建对象 2.4.3 双重检查代码实现优点 1、实现简单 2、立即加载无线程安全问题 2.4.4 双重检查代码实现缺点 极端情况下还是可以拿到多实例,如通过反射。 2.5 静态内部类推荐 2.5.1 静态内部类代码实现 public class Singleton{private Singleton(){}private static Singleton SingletonInstance {private static final Singleton INSTANCE new Singleton();}public static Singleton getInstance(){return SingletonInstance.INSTANCE;} }2.5.2 静态内部类代码实现要点解析 1、私有构造 2、创建私有静态内部类该静态内部类中含有static 和final修饰的实例对象 3、提供公有静态get方法返回该静态实例 2.5.3 静态内部类代码实现优点 1、延迟加载效率高 2、无线程安全问题。类的静态属性只会在第一次加载类时初始化这样JVM帮助我们保证了线程安全性因为在类初始化时别的线程无法进入。 2.5.4 静态内部类代码实现缺点 静态内部类虽然保证了单例在多线程并发下的线程安全性但是在遇到序列化对象时默认的方式运行得到的结果就是多例的。 极端情况下还是可以拿到多实例如通过反射。 2.5.5 静态内部类与饿汉式对比 此方法可以看作饿汉式的改进版两者都采用类装载机制来保证初始化实例时只有一个线程。 不同之处在于饿汉式只要Singleton类被装载就会实例化没有延迟加载 而静态内部类方式再Singleton类被装载时并不会立即实例化而是在需要实例化时才会调用getInstance方法装载SingletonInstance 类从而完成Singleton实例化。 总的来说推荐使用。 2.6 枚举推荐 2.6.1 枚举代码实现 public class Singleton{//内部类使用枚举类private enum SingletonEnum {INSTANCE;private Singleton singleton;//在枚举类的构造器里初始化singletonSingletonEnum() {singleton new Singleton ();}private Singleton getSingleton() {return singleton;}}//对外提供获取单例的方法public static Singleton getInstance(){return SingletonEnum.INSTANCE.getSingleton();} }2.6.2 枚举代码实现要点解析 1、内部类使用枚举类 2、在枚举类的构造器里初始化singleton提供私有方法供本类获取singleton 3、对外提供获取单例的方法 2.6.3 枚举实现优点 1、支持延迟加载可做到按需加载 2、支持高并发 3、防止反射和反序列化攻击 总的来说推荐使用。
http://www.dnsts.com.cn/news/69936.html

相关文章:

  • 外国的网站 ftp优化搜狐的培训
  • 做网站什么类型好百度网站推广价格查询
  • 作风建设提升年活动网站国外的wordpress主题公园
  • 学院网站建设服务宗旨河南建设工程信息网 建议访问中项网
  • 展示网站模板下载长沙3合1网站建设公司
  • wordpress定义小工具栏长沙搜索排名优化公司
  • 房产公司网站建设中国万网域名注册官网
  • asp网站一打开就是download网站长尾关键词排名软件
  • 海口建网站 模板网站搭建工作室加盟
  • 网站制作需求链接买卖
  • 全景网站开发待遇工程网站模板
  • 类模板模板下载网站有哪些内容找公司做网站要注意什么
  • 建筑网站官网网络科技公司有什么职位
  • linux网站服务器配置东莞横沥理工学校
  • 合肥网站开发 合肥网站优化内蒙古自治区精神文明建设网站
  • 做网站优化两年遇到的SEO常态企业网络推广公司
  • 福州有网站开发的公司吗青岛注册公司网站
  • 网站备案时长国外ip代理
  • 教育考试类网站建设开发一个平台要多少钱
  • 英文版网站建设方案北京市建设监理协会网站
  • 网站建设技术工具wordpress私活
  • 提供网站设计服务商有的网站域名解析错误
  • 网站建站客户需求表单怎么利用网络挣钱
  • 水处理网站源码百度app下载官方免费下载安装
  • 电子商务网站建设流程怎挖掘网站关键词
  • 网站开发如何无感更新wordpress文体旋转
  • 成品网站nike源码免费企业网站开发需求详细文档
  • 中粮我买网是哪个公司做的网站wordpress显示自定义分类文章数量
  • 怎么做淘宝返利网站网页代码大全
  • net framework可以用来做网站吗搭建网站的流程