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

做搜狗pc网站点注册网站手机号收验证码

做搜狗pc网站点,注册网站手机号收验证码,国外网站上不去 dns,济南快速建站模板个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 单例设计模式 Java单例设计模式 Java单例设计模…

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

单例设计模式

  • Java单例设计模式


Java单例设计模式

  • 单例设计模式(Singleton):单例即唯一实例,某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。(例如:代表JVM运行环境的Runtime类)

要点

  • ①某个类只能有一个实例。
    • 构造器私有化。
  • ②这个类必须自行创建这个实例。
    • 含有一个该类的静态变量来保存这个唯一的实例。
  • ③这个类必须自行向整个系统提供这个实例。
    • 对外提供获取该实例的方式:
        1. 直接暴露
        2. 用静态变量的get方法获取

饿汉式

  • 饿汉式:直接创建对象,不存在线程安全问题。(在类初始化时直接创建对象,不管你是否需要这个对象都会创建)
  • 实现方式:
    • 直接实例化饿汉式(简洁明了)
    • 枚举式(最简洁)
    • 静态代码块饿汉式(适合复杂实例化)

  1. 直接实例化
//Singleton:单例设计模式,软件开发中常见的设计模式之一//单例设计模式——饿汉式1:直接实例化饿汉式
/** 1.构造器私有化* 2.自行创建,并且用静态变量保存* 3.向外提供这个实例* 4.使用final修饰,强调这是一个单例*/
public class Singleton_hungry1 {//直接实例化private static final Singleton_hungry1 INSTANCE = new Singleton_hungry1();//构造器私有化private Singleton_hungry1(){}}

  1. 枚举式
/*** 枚举类型:表示该类型的变量是有限的几个* 我们可以限定为一个,从而成了单例**/
public enum Singleton_hungry2 {//枚举类型的实例INSTANCE;private Singleton_hungry2() {}
}

  1. 静态代码块
public class Singleton_hungry3 {public static final Singleton_hungry3 INSTANCE;static {//复杂情况在静态代码块中解决INSTANCE = new Singleton_hungry3();}private Singleton_hungry3() {}
}

懒汉式

  • 懒汉式:延迟创建对象。
  • 实现方式:
  • 线程不安全(适用于单线程)
  • 线程安全(适用于多线程)
  • 静态内部类形式(适用于多线程)
  1. 线程不安全
/** 懒汉式:延迟创建这个实例对象* 1. 构造器私有化* 2.用一个静态变量保存唯一实例* 3.提供一个静态方法,用于获取实例*/
public class Singleton4 {private static Singleton4 instance;private Singleton4() {}//线程不安全public static Singleton4 getInstance() {if(instance == null) {instance = new Singleton4();}return instance;}}

  1. 线程安全
public class Singleton5 {private static Singleton5 instance;private Singleton5() {}public static Singleton5 getInstance() {//上锁、线程安全synchronized(Singleton5.class){if(instance == null) {instance = new Singleton5();}}return instance;}}

  1. 静态内部类形式
/** 懒汉式:延迟创建这个实例对象* 1. 构造器私有化* 2.用一个静态变量保存唯一实例* 3.提供一个静态方法,用于获取实例*/
public class Singleton6 {private Singleton6() {}//内部类:静态内部类不会随着外部类的加载和初始化而初始化,它是要单独去加载和初始化的//唯一实例因为是在内部类加载和初始化时才创建的,所以线程安全private static class inner{//唯一实例: 在内部类被加载和初始化时才被创建private static Singleton6 instance = new Singleton6();}public static Singleton6 getInstance() {return inner.instance;}}



在这里插入图片描述

http://www.yayakq.cn/news/107726/

相关文章:

  • 自贡订房中心网站建设移动网站建设作业
  • 商务网站建设PDF下载计算机前端和后端哪个好就业
  • 免费做章子的网站广告投放平台
  • 建站哪家好肥城网站建设推广
  • 北京做网站公司 seo实力app开发公司
  • 网站怎么做端口映射凡科自助建站平台
  • 电商网站设计哪家好大型服装网站建设
  • 商赢网站建设上海前端
  • 编程网站入门怎么搭建一个完整的网站
  • 服装公司 网站怎么做上街网站建设
  • 电商网站前端设计方案建设网站什么软件比较好
  • 二手书网站建设网站建设的频道是什么意思
  • 百度网站建设多少钱广州百度网络推广
  • 模版网站如何优化设计制作小车教学反思
  • 一线城市做网站工资有多少数字经济团体赛
  • 辽源网站制作北京seo报价
  • 哈尔滨自助建站软件简历免费下载模板
  • 教人做衣服的网站开发游戏app
  • 网站建设面试问题wordpress多站点备份
  • 新奇网站建设高并发网站开发语言
  • 南城区仿做网站网络服务器功能的概述
  • 360浏览器直接进入网站wordpress封采集站ip
  • 做网站第三方登录怎么弄深圳有名的建设公司
  • 银川市住房城乡建设局网站建设网站的内容规划
  • 城市建设学校网站管理规章制度中美关系最新消息视频
  • 网站导航下拉菜单代码邢台网络问政
  • 网站是否开启gzip如何建国际商城网站
  • 建设企业网站前市场分析wordpress建站镜像
  • 简约个人网站欣赏如何使用天翼云主机建设网站
  • 个体户 网站建设黄页引流推广网站入口