类加载器的分类

发布时间:2024年01月05日

类加载器的任务就是把 java字节码文件内容 加载到 JVM 中去


分类

类加载器一般分为两类:

  1. 启动类加载器: 这个类加载器使用C++实现 是虚拟机自身的一部分,启动类加载器加载的内容 包括java.lang.Object、java.lang.String等在内的Java核心类库。
    这些类库是构建Java应用程序的基础,它们通常位于JRE(Java Runtime Environment)的lib目录下。

  2. 虚拟机外部 由java语音实现的,这些类加载器全部继承 抽象类
    java.lang.ClassLoader
    比如拓展类加载器,应用程序类加载器(也叫系统类加载器 它负责加载用户类路径上面所指定的类库)


我们的java程序 基本都是由这几类 类加载器相互配合进行加载的,你加载你负责的部分 我加载我的。
但是 不管是哪个类加载器 它们的加载过程的基本流程是相似的。加载过程通常包括三个阶段:加载、连接和初始化。

最后把java文件字节码 加载到JVM的 方法区中。


从classloader继承而来的 类加载器

启动类加载器是c++写的 我们无法改动 也很难触及核心,我们重点来看看从classloader继承而来的 类加载器

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_43966468/article/details/135384250
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。