• 设计模式和Java类加载器简单介绍


    设计模式

    • 创建型模式 省去new的过程
      • 单例设计模式 反射和序列化可以破坏单例模式
        • 饿汉式 :类加载就会导致该单例对象被创建
          • 静态变量方式
          • 静态代码块方式
          • 恶汉式:使用枚举,不考虑内存浪费下使用 。
        • 懒汉式:首次使用该单例对象才会被加载
      • 工厂模式
        • 简单工厂模式
        • 工厂方法模式
        • 抽象工厂模式
      • 原型模式
        • 浅克隆: 创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。
        • 深克隆: 创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。
      • 建造者模式
    • 构建型模式: 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。
      • 代理模式
        • 静态代理
        • 动态代理
      • 适配器模式
        • 类适配器
        • 对象适配器
      • 装饰器模式:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
      • 外观模式:又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。
      • 组合模式:有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。在组合模式中,整个树形结构中的对象都属于同一种类型,带来的好处就是用户不需要辨别是树枝节点还是叶子节点,可以直接进行操作,给用户的使用带来极大的便利。
      • 享元模式:运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。
    • 行为型模式
      • 模板方法模式
      • 策略模式:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。

    Java类加载

    Java类加载体系

    BootStrapClassLoader

    1. 称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库
    2. 使用C/C + +语言实现,嵌套在JVM内部

    Extention ClassLoader

    1. 扩展的类加载器,加载目录-%JREHOME%Nliblext目录下的jar包和class文件。还可以加载-Djava.ext.dirs选项指定的目录。

    AppClassLoader

    1. 加载当前应用的classpath的所有类。

    每个加载器都有自己的加载目录

    双亲委派:一个java类加载进入JVM内存的过程

    1. 每个类加载器加载过的类都有一个缓存
    2. 向上委托查找,向下委托加载。

  • 相关阅读:
    C#中基于.NET6的动态编译技术
    Oracle LiveLabs实验:8 Partitioning Techniques in Oracle Database
    MUYUCMS v2.1:一款开源、轻量级的内容管理系统基于Thinkphp开发
    HBase 计划外启动 Major Compaction 的原因
    用acme.sh给网站域名,申请免费SSL永久证书(自动续期)
    【前端】Vue+Element UI案例:通用后台管理系统-面包屑、tag栏
    java.lang.Float类下isInfinite(float v)方法具有什么功能呢?
    JSP 的本质原理解析:"编写的时候是JSP,心里想解读的是 java 源码"
    day49【动态规划】买卖股票的最佳时机问题
    span 元素自带间距??
  • 原文地址:https://blog.csdn.net/qq_61672548/article/details/126090305