zoukankan      html  css  js  c++  java
  • Tomcat的类加载器初步认识

    起因

    查看Tomcat的Bootstrap启动时创建了Common ClassLoader,实质是一个指定目录的URLClassLoader。那么这些ClassLoader是如何关联起来的呢?

    图片来自https://www.cnblogs.com/aspirant/p/8991830.html
    在这里插入图片描述

    指定目录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    根据URLClassLoader继承了ClassLoader,
    在这里插入图片描述

    URLClassLoader本质可以看作一个特殊类加载目录的ClassLoader。

    ClassLoader.getSystemClassLoader()

    获取系统默认ClassLoader的方法

    在这里插入图片描述

    Launcher 去获取 ClassLoader
    在这里插入图片描述

    返回的this.loader
    在这里插入图片描述

    AppClassLoader

    this.loader在初始化Launcher的时候去初始化

    注入ExtClassLoader作为AppClassLoader的parent 并返回该AppClassLoader
    在这里插入图片描述

    java.class.path 包含-classpath制定的目录

    在这里插入图片描述

    在这里插入图片描述

    ps:ExtClassLoader类似

    在这里插入图片描述

    WebappClassLoaderBase 打破了双亲委派,实现了一个Tomcat下多个应用

    在这里插入图片描述

  • 相关阅读:
    HDFS 2.X新特性
    kettle的系列教程
    Kettle基本使用
    MySQL流程控制结构
    MySQL函数
    MySQL存储过程和函数
    MySQL变量
    MySQL视图
    TCL(事务控制语言)
    MySQL标识列(自增长列)
  • 原文地址:https://www.cnblogs.com/thewindkee/p/12873124.html
Copyright © 2011-2022 走看看