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

黄冈做网站技术支持的wordpress 高清头像

黄冈做网站技术支持的,wordpress 高清头像,专业网站建设电,如何做网站外链引言 这是设计模式专栏的第一篇文章,在这个专栏里面会讲到我们在开发中经常使用的设计模式,我会用心将它们解析,然后讲给你们听,如果感兴趣可以持续关注这个专栏❤️ 这次我们要讲的是单例模式,这个在大厂面试中十分…

引言

这是设计模式专栏的第一篇文章,在这个专栏里面会讲到我们在开发中经常使用的设计模式,我会用心将它们解析,然后讲给你们听,如果感兴趣可以持续关注这个专栏❤️

这次我们要讲的是单例模式,这个在大厂面试中十分常见,有的面试官会让你手撕一个单例模式。抛去面试不谈,单例模式也是我们开发中常用的软件设计思想,许多框架的底层设计都是运用到这个设计思路,所以掌握好单例模式十分有必要

什么是单例模式🤓

单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。

使用单例模式的场景有哪些呢?

  • 数据库连接池
  • 日志记录器(Logger)
  • 配置管理器
  • 线程池
  • 缓存服务

这些对象只需要一个实例,避免重复创建造成资源浪费或状态不一致。

单例模式的特点🥱

  1. 私有构造函数:防止外部通过 new 创建实例。
  2. 静态私有实例:类内部维护唯一的实例。
  3. 公开的静态方法:用于返回唯一实例。

单例模式创建分为饿汉式和懒汉式,接下来让我们一一解析

饿汉式😈

为什么叫饿汉式呢?因为类加载就会导致该单实例对象被创建。

那类加载又是什么呢?

在 Java 中,类加载 是指将 .class 文件(字节码文件)加载到 JVM(Java 虚拟机)中,并为其创建一个 java.lang.Class 对象的过程。这个过程是由 类加载器(ClassLoader) 完成的。

但是JVM不会在一开始就加载所有的类,而是在运行时按需加载,也就是说当某个类第一次被主动使用时才会触发类加载。例如:

  • 创建类的实例(new
  • 访问类的静态变量或调用静态方法
  • 使用子类时会先加载父类
  • 启动类(main 方法所在的类)

还有一些被动引用的情况不会触发类加载,比如访问静态常量(编译期确定的 final static 常量),就不会触发类初始化。

下面讲讲饿汉式怎么创建单例:

方法一:静态成员变量方式获取对象

public class Singleton{//1. 私有无参构造方法private Singleton(){}//2. 创建对象private static Singleton instance = new Singleton();//3. 向外提供公共方法,可以获取单例对象public static Singleton getInstance(){return instance;}
}

方法二:静态代码块创建

public class Singleton{//1. 私有无参构造方法private Singleton(){}//2. 创建对象private static Singleton instance;//3. 静态代码块进行赋值static{instance = new Singleton();}//4. 向外提供公共方法,可以获取单例对象public static Singleton getInstance(){return instance;}
}

方法三:枚举

枚举类型是线程安全的,并且只会装载一次。枚举是单例实现中唯一一种不会被破坏的单例实现模式

public enum Singleton{INSTANCE;
}

懒汉式🥱

懒汉式,顾名思义就是,意思就是需要创建的时候再创建。类加载并不会导致该单实例对象创建,而是首次使用该对象时才会创建。

public class Singleton{//1. 私有无参构造方法private Singleton(){}//2. 创建对象,使用volatile关键字防止指令重排序与保证变量可见性private static volatile Singleton instance;//3. 向外提供公共方法,可以获取单例对象public static Singleton getInstance() {if (instance == null) {//synchronized关键字修饰代码块保证只有一个线程可以创建单例对象synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
}

总结❤️

这就是单例模式的解析,我们下次再见。

如果你看了这篇文章有收获可以点赞+关注+收藏🤩,这是对笔者更新的最大鼓励!如果你有更多方案或者文章中有错漏之处,请在评论区提出帮助笔者勘误,祝你拿到更好的offer!

http://www.dtcms.com/a/551529.html

相关文章:

  • 成年做羞羞的视频网站深圳做分销网站的公司
  • 网站搭建公司哪家好wordpress 评论删除
  • 关于建网站新闻一键提交收录
  • 云南省网站备案要求近期新闻热点事件及评论
  • 如何做php网站南通网站优化公司
  • 苏南网站建设互联网营销
  • 网站首页静态好还是动态好本科自考是什么意思
  • 建一个商城网站多少钱优秀的个人博客网站
  • 河南双师培训网站深圳制作网站搜行者seo
  • 寿光专业做网站的公司有哪些wordpress模板 户外钓鱼类网站
  • 虹桥街道网站建设做响应式网站最大宽度
  • 泰州网站优化公司做网站骗钱
  • 如何进入网站管理页面做网站一般注意些什么
  • 网络会议系统app网站首页布局seo
  • 千锋教育费用多少seo服务的三种方式
  • 广州网站建设模板网站的百度推广怎么做
  • 个人做免费的网站无锡专业制作外贸网站的公司
  • 想接做网站的单子建设企业网站e路护航
  • 品牌网站开发背景asp网站源码下载
  • openwrt 做视频网站网站备案接入ip
  • 学校网站建设费用服务平台管理系统
  • 先做公众号在做网站nx二次开发
  • 网站建设 猫云seo建设银行辽宁分行招聘网站
  • 微网站首页模板wordpress用户修改邮箱
  • 怎么说服企业做网站怎么恶意点击对手竞价
  • 崇左市住房和城乡建设局网站做网站挂广告赚多少
  • 网站首页为什么不收录wordpress 在线skype
  • 高性能网站建设 pdf产品推广策划案
  • 山东莱钢建设有限公司网站策划书格式模板范文
  • 网站备案查询系统电商网站定制