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

电影网站标题怎么做流量多济南资海网站建设公司

电影网站标题怎么做流量多,济南资海网站建设公司,营销词汇100个,北京做网站推广的公司文章目录 一、概述1.单例模式2.单例模式的特点3.单例模式的实现方法 二、单例模式的实现1. 饿汉式2. 懒汉式3. 双重校验锁4. 静态内部类5. 枚举 三、总结 一、概述 1.单例模式 单例模式#xff08;Singleton Pattern#xff09;是一种创建型设计模式#xff0c;确保一个类… 文章目录 一、概述1.单例模式2.单例模式的特点3.单例模式的实现方法 二、单例模式的实现1. 饿汉式2. 懒汉式3. 双重校验锁4. 静态内部类5. 枚举 三、总结 一、概述 1.单例模式 单例模式Singleton Pattern是一种创建型设计模式确保一个类只有一个实例并提供一个全局访问点。这种模式在需要一个对象被共享且全局唯一的情况下非常有用比如配置对象、日志对象、数据库连接对象等。 2.单例模式的特点 唯一性保证一个类只有一个实例。 全局访问点提供一个全局访问点来获取该实例。 3.单例模式的实现方法 单例模式有多种实现方式常见的有饿汉式、懒汉式、双重校验锁、静态内部类和枚举等。以下是这些方法的详细实现及其优缺点。 二、单例模式的实现 1. 饿汉式 饿汉式单例模式在类加载时就初始化实例因此线程安全。 public class Singleton {private static final Singleton INSTANCE new Singleton();private Singleton() {// 私有构造函数防止实例化}public static Singleton getInstance() {return INSTANCE;} }优点 实现简单。线程安全。 缺点 类加载时就实例化可能造成资源浪费。 2. 懒汉式 懒汉式单例模式在第一次使用时才初始化实例不是线程安全的需要加锁。 public class Singleton {private static Singleton instance;private Singleton() {// 私有构造函数防止实例化}public static synchronized Singleton getInstance() {if (instance null) {instance new Singleton();}return instance;} }优点 延迟加载节省资源。 缺点 需要加锁性能较差。每次获取实例时都需要同步开销较大。 3. 双重校验锁 双重校验锁在懒汉式的基础上进行了优化减少了不必要的同步开销。 public class Singleton {// 使用 volatile 关键字确保 instance 的可见性和有序性private static volatile Singleton instance;private Singleton() {// 私有构造函数防止实例化}public static Singleton getInstance() {if (instance null) { // 第一次检查无锁synchronized (Singleton.class) {if (instance null) { // 第二次检查有锁instance new Singleton();}}}return instance;} } 优点 延迟加载节省资源。线程安全性能较高。 缺点 代码较复杂。需要使用 volatile 关键字确保可见性和有序性。 解释步骤 1、为什么双重 第一次检查无锁 if (instance null)第一次检查是否已经有实例。如果有则直接返回实例避免进入同步块提高性能。 同步块synchronized (Singleton.class)如果第一次检查发现实例为null进入同步块确保只有一个线程能够进入创建实例的代码。 第二次检查有锁 if (instance null)再次检查实例是否为null。这是因为在同步块外的第一次检查和进入同步块之间可能有另一个线程已经创建了实例。 2、为什么需要 volatile 使用 volatile 关键字确保 instance 的可见性和有序性。它防止了指令重排序可能导致的问题。在没有 volatile 的情况下可能会发生如下情况 分配内存。 初始化对象。 设置 instance 指向分配的内存。 指令重排序可能会使步骤2和步骤3的顺序颠倒使得一个线程看到一个未完全初始化的对象。因此volatile 确保了步骤2和步骤3的顺序不会被颠倒。 4. 静态内部类 利用静态内部类的特性实现单例模式线程安全且延迟加载。 public class Singleton {private Singleton() {// 私有构造函数防止实例化}private static class SingletonHolder {private static final Singleton INSTANCE new Singleton();}public static Singleton getInstance() {return SingletonHolder.INSTANCE;} }优点 延迟加载节省资源。线程安全利用类加载机制保证初始化时只有一个线程。 缺点 代码较简单易读性好。 5. 枚举 利用枚举实现单例模式天生线程安全防止反序列化创建新实例。 public enum Singleton {INSTANCE;public void someMethod() {// 单例方法} }// 测试类public static void main(String[] args) {// 创建枚举对象SingletonEnum instance1 SingletonEnum.INSTANCE;SingletonEnum instance2 SingletonEnum.INSTANCE;System.out.println( instance1 instance2);instance1.run();//System.out.println(SingletonEnum.INSTANCE); }优点 实现简单。天生线程安全。防止反序列化创建新实例。 缺点 不能延迟加载可以通过懒初始化方法来实现。 三、总结 单例模式通过确保一个类只有一个实例提供了一种全局访问点来访问该实例。根据不同的需求和场景可以选择不同的实现方式。 饿汉式和枚举方式实现简单但不能延迟加载懒汉式和双重校验锁方式可以延迟加载但需要考虑线程安全问题静态内部类方式兼具延迟加载和线程安全是一种推荐的实现方式。 单例模式的特点 1.构造方法私有化即构造方法被private修饰 2.该单例对象必须由单例类自行创建 3.内部提供一个公共静态的方法给外界进行访问方法被public static 修饰
http://www.hkea.cn/news/14443793/

相关文章:

  • 网站备案登录o2o平台网站建设
  • 网站被收录要怎么做网页设计与网站建设全攻略pdf
  • 交换友情链接的网站标准是什么江苏设计网站电话
  • 山西cms建站系统价格如何申请域名建网站
  • 网站建设 配资信贷员在哪个网站做推广
  • 电子商务网站建设中的重要性wordpress 美拍插件
  • 多语言 网站源码小型网站开发
  • 专门做布料的网站百度竞价查询
  • 公司网站应该包括哪些内容网站会员注册系统下载
  • wordpress获取地址栏参数谷歌广告优化
  • 网站的详细设计建设银行投诉网站
  • 网站建设销售需要哪些重庆整合营销网站建设
  • 达孜网站建设在线制图生成器
  • 某网络公司网站源码 蓝色建站企业网站源码北京网站优化经理
  • 网站域名注册服务商图片下载+wordpress
  • 张家港建设银行网站电子工程网络信息技术专业
  • 国际网站开发客户企业常见问题及解决方案
  • 如何找百度做网站个人简历 网站开发
  • 松江企业网站建设网站开发软件有哪
  • 自己可以做门户网站吗做做网站下载免费
  • 桐城做淘宝店铺网站公司搜搜网站提交
  • 怎么增加网站访问量不同网站相似的页面百度不收录吗
  • seo优化网站网页教学WordPress修改前端
  • 精品资源共享课网站建设长春网络哪个好
  • 广东中山网站建设 光龙网站加强队伍建设
  • 品牌设计案例网站江苏廉政建设网站
  • 网站查询功能代码做logo去哪个网站
  • wordpress开启子目录多站点模式flash制作动画教程
  • 交互型网站难做吗软件外包网
  • 新手学做网站vs星空影视文化传媒制作公司