spring是哪个类加载器

worktile 其他 31

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring框架使用的是Java的标准类加载器,它由Java虚拟机提供。具体来说,Spring框架使用三种类加载器来加载不同类型的类。

    1. BootStrap ClassLoader(启动类加载器):这是Java虚拟机的一部分,负责加载Java的核心类库,例如Java的基础类(如java.lang包和java.util包下的类)。

    2. Extension ClassLoader(扩展类加载器):这个类加载器是由BootStrap ClassLoader加载的,用于加载Java虚拟机的扩展类库,一般位于JAVA_HOME/jre/lib/ext目录下。

    3. Application ClassLoader(应用类加载器):也被称为系统类加载器,它负责加载应用程序的类,包括应用程序自身的类和依赖的第三方类库。

    在Spring框架中,如果没有其他配置,Spring将会使用默认的类加载器即应用类加载器来加载类。不过,Spring也提供了可扩展的类加载器策略,可以根据不同的需求来选择合适的类加载器,例如使用自定义的类加载器实现动态模块加载等功能。

    总结起来,Spring框架使用Java的标准类加载器,主要是由应用类加载器来加载类。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring框架是由Java加载器中的主要类加载器之一–应用类加载器(Application Class Loader)来加载的。应用类加载器是Java虚拟机(JVM)中默认的类加载器,它负责加载应用程序的类。

    下面是关于Spring框架和类加载器的几个要点:

    1. 类加载器是Java虚拟机的一项核心任务,它负责将类的字节码文件加载到内存并进行初始化,以便在运行时使用。

    2. Java虚拟机使用称为“双亲委派模型”的类加载器层次结构来加载类。在加载类时,每个类加载器都会先委派给其父类加载器尝试加载。只有当父类加载器无法加载时,才会由当前类加载器进行加载。这种层次结构保证了类的唯一性和安全性。

    3. 在Spring框架中,应用类加载器负责加载应用程序的类。这些类通常位于应用程序的类路径(class path)下,例如:应用程序的jar包或者类文件所在的目录。

    4. Spring框架本身的类是由引导类加载器(Boostrap Class Loader)加载的。引导类加载器是Java虚拟机加载类路径中的核心库和扩展库的加载器。

    5. Spring框架利用应用类加载器的动态类加载能力,可以在运行时动态加载和初始化类。这可以通过Spring的IoC(控制反转)容器和AOP(面向切面编程)特性实现。

    总之,Spring框架是由Java虚拟机中的应用类加载器来加载的。了解类加载器的工作原理可以帮助我们更好地理解Spring框架的运行机制,并正确使用和配置框架。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Spring框架中,类加载器被用来加载应用程序中的类。Spring框架本身并不提供类加载器,而是依赖于Java虚拟机(JVM)内置的类加载器来加载类。通常,Spring的类加载器由JVM按特定的加载顺序决定。

    根据Java类加载器的层次结构,主要有以下几种类型的类加载器在Spring中使用:

    1. Bootstrap类加载器(Bootstrap Class Loader):也被称为根加载器,它是JVM的一部分,通常由C/C++编写,并是JVM运行时的一部分。它负责加载JVM运行时需要的核心类,如java.lang包中的类。
    2. Extension类加载器(Extension Class Loader):也被称为扩展加载器,是Bootstrap类加载器的子类。它负责加载JVM扩展目录(JAVA_HOME/jre/lib/ext)中的JAR包、类和资源。
    3. Application类加载器(Application Class Loader):也被称为系统类加载器,是Extension类加载器的子类。它负责加载应用程序类路径(CLASSPATH)下的类和资源。在Spring中,这就是Spring框架和应用程序中的类所在的加载器。
    4. 自定义类加载器(Custom Class Loader):除了上述的三种类加载器之外,Spring还支持自定义类加载器。自定义类加载器可以通过扩展Java虚拟机提供的ClassLoader类来实现。自定义类加载器可以用于加载应用程序特定的类,如插件或动态模块。

    总体来说,在Spring中,大部分的类都是由Application类加载器加载的。如果需要自定义加载器来加载特定的类,可以使用自定义类加载器。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部