首页 > 编程语言 >java模式之-创建型模式

java模式之-创建型模式

时间:2023-12-25 12:34:01浏览次数:31  
标签:java 饿汉 创建 模式 线程 单例 设计模式 懒汉

typora-copy-images-to: upload

typora-copy-images-to: upload

一、设计模式的概述和分类

二、单例模式

1、介绍

2、单例模式有八种方式:

1)饿汉式(单线程推荐)

2) 懒汉式(线程不安全)

3) 双重检查(推荐)

4、静态内部类(推荐)

5、枚举

6、注意事项

三、工厂设计模式

1、简单工厂模式

2、工厂方法模式

3、抽象工厂模式

四、原型模式

2. 深入讨论-浅拷贝和深拷贝

五、建造者模式

一、设计模式的概述和分类

设计模式三大分类

设计模式分为三种类型,共23类。


(1)创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。


(2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。


(3)行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)

  1. 饿汉式(静态常量)
  2. 饿汉式(静态代码块)
  3. 懒汉式(线程不安全)
  4. 懒汉式(线程安全,同步方法)
  5. 懒汉式(线程安全,同步代码块)
  6. 双重检查
  7. 静态内部类
  8. 枚举

标签:java,饿汉,创建,模式,线程,单例,设计模式,懒汉
From: https://blog.51cto.com/u_13529088/8965761

相关文章

  • 设计模式七大原则
    一、设计模式的七大原则1、七大原则二、单一职责原则单一职责原则的注意事项三、接口隔离原则1、介绍四、依赖倒转原则1、介绍2、依赖关系传递的三种方式3、注意事项和细节五、里氏替换原则六、开闭原则1、介绍七、迪米特法则1、介绍2、注意事项八、合成复用原则设计核心1、七大原......
  • 轻量级用户模式线程
    Loom项目通过引入称为纤程的轻量级用户模式线程,在Java中引入了一种新颖的并发方法。与传统线程不同,纤维非常轻,并且可以大量生成,而不会产生相同的开销。这项创新旨在简化Java中的并发性,使开发人员更容易编写可扩展且高效的并发代码。纤维模型简单来说,纤程可以看作是在常规Ja......
  • java集合stream操作
    forEach-遍历Stream<Integer>stream=Stream.of(2,3,1,4);stream.forEach(System.out::println);filter-过滤Stream<Integer>stream=Stream.of(2,3,1,4);Stream<Integer>newStream=stream.filter(num->num>2);System.out.pr......
  • 用Java抓取天眼查公开失信人员信息
    做生意不管是大生意小生意讲究的是信用,如果信用不好的人,想必也没有人愿意和他做生意,最近我有几个朋友不是搞的装潢公司么,接了几个单子,想要问问通过一些信息能否查查对方是否是失信人员,当然都是通过正规渠道来的,还是老规矩,直接通过代码过去自动识别抓取。以下是一个简单的Java爬虫程......
  • java读取yaml文件并转化成json格式数据
    一、在maven项目中导入依赖<!--yaml文件转化成json格式--><dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.29</version></de......
  • 游戏编程模式 - 免费电子书
    请注意,这篇文章可能不含额外的原创内容,因为它用于留档特定的优质网站和个人笔记原网站标题:嘿,游戏开发者!您是否正在努力将代码组合成一个有凝聚力的整体?随着代码库的增长,您是否发现更改变得更加困难?感觉你的游戏是一个巨大的毛球,所有东西都与其他东西交织在一起?想知道设计模式是否以......
  • delphi 窗体设计器选项(显示非可视组件、自动创建窗体)
    窗体设计器选项(显示非可视组件、自动创建窗体)选项介绍窗体设计器的首选项。Tools>Options>UserInterface>FormDesignerGridoptionsDisplaygrid在设计器上显示点网格点,以帮助对齐控件。Usedesignerguidelines启用设计器上的指引。指引有助于对齐窗体上的组件。......
  • java md5图片内容加密
    在Java中,你可以使用Java的内置类来生成MD5哈希值。下面是一个示例,展示了如何使用Java将图片内容进行MD5加密:importjava.io.*;importjava.security.*;publicclassImageToMD5{publicstaticvoidmain(String[]args){try{//读取图片文件......
  • Odoo17_禁用从地址栏进debug模式
    1.参考odoo禁用debug模式_odoo14禁用debug-CSDN博客2.直接上代码#-*-coding:utf-8-*-fromodooimporthttpfromodoo.addons.web.controllersimporthomefromodoo.exceptionsimportUserErrorclassDebugHome(home.Home):@http.route('/web',type='ht......
  • Oracle基础SQL整理:创建表空间、创建用户、赋予DBA权限、建表
    创建表空间CREATEtablespacefrdemodatafile'/tmp/frdemo.dbf'SIZE128mautoextendONNEXT100mmaxsize1024m;创建用户及绑定表空间CREATEUSERfruserIDENTIFIEDBYfinereportDEFAULTtablespacefrdemo;给用户赋予dba权限GRANTdbaTOfruser;创建表CREATETABLEt_o......