什么是类加载器

news/2025/2/12 14:06:47/

类加载器(Class Loader)是 Java 虚拟机(JVM)的重要组成部分,负责将字节码文件加载到内存中并转换为可执行的类。

类加载总共分为以下四种:

  1. 启动类加载器(Bootstrap Class Loader):它是 JVM 的内部组件,负责加载 Java 核心类库(如java.lang)和其他被系统类加载器所需要的类。启动类加载器是由 JVM 实现提供的,通常使用本地代码来实现。
  2. 扩展类加载器(Extension Class Loader):它是 sun.misc.Launcher$ExtClassLoader 类的实例,负责加载 Java 的扩展类库(如 java.util、java.net)等。扩展类加载器通常从 java.ext.dirs 系统属性所指定的目录或 JDK 的扩展目录中加载类。
  3. 系统类加载器(System Class Loader):也称为应用类加载器(Application Class Loader),它是sun.misc.Launcher$AppClassLoader 类的实例,负责加载应用程序的类。系统类加载器通常从 CLASSPATH 环境变量所指定的目录或 JVM 的类路径中加载类。
  4. 用户自定义类加载器(User-defined Class Loader):这是开发人员根据需要自己实现的类加载器。用户自定义类加载器可以根据特定的加载策略和需求来加载类,例如从特定的网络位置、数据库或其他非传统来源加载类。

如下图所示:


http://www.ppmy.cn/news/1381398.html

相关文章

Nacos(服务注册与服务配置)

安装Nacos 官网下载Nacos安装包并解压,直接运行bin目录下的startup.cmd -m standalone(standalone:单机模式,非集群)。 访问地址:http://localhost:8848/nacos 账号密码默认为nacos Nacos Discovery服务注册中心 新建生产者模块: package com.wen.cloud.contro…

一文读懂回流(重排)重绘

回流与重绘 回流重绘是指在网页中进行布局、样式等操作时,浏览器需要重新计算元素的位置和大小(回流)以及重新绘制元素的样式(重绘)的过程。这个过程会消耗很多的计算资源,因此需要尽量减少回流和重绘的次…

【测试开发学习历程】重定向、管道与环境变量

前言:测试开发的学习已经开启第三周的学习了。 奋斗至此,内容已稍有难度。 发现每一点都有其深挖的地方,但读书在某些方面来讲要不求甚解,如果只在一点深挖,那可能进度很难提的上来。 继续加油!&#xf…

ChatGPT国内能用吗?中国用户怎么才能使用ChatGPT?

与ChatGPT类似的国内网站,他们都能提供和ChatGPT相似的能力,而且可以在国内直接使用。 点击直达方式 百科GPT官网:baikegpt.cn ChatGPT是基于GPT-3.5架构的语言模型的一个实例,由OpenAI开发。以下是ChatGPT的发展历史&#xff1…

Java外观模式源码剖析及使用场景

外观模式 一、介绍二、家庭影院项目案例使用三、Java API或框架中应用分析三、Spring框架ApplicationContext源码 一、介绍 外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供了一个统一的高层接口,使得子系统更加容易使用。外观模式定义了一个高层接…

UE5数字孪生系列笔记(二)

智慧城市数字孪生系统 制作流云动画效果 首先添加一个图像在需要添加流云效果的位置 添加动画效果让其旋转 这个动画效果是程序开始就要进行的,所以要在EventConstruct中就可以启动这个动画效果 添加一个一样的图像在这里,效果是从此处进行放大消散 添…

TIOBE 3月编程排行榜出炉:遥遥领先,霸榜第一!

哈喽呀~又到了每个月的语言排行榜啦! TIOBE 3月编程语言也已经公布,具体有啥新变化呢?快和我一起往下看~ Python遥遥领先,霸榜第一 先来看看本月排行榜top5的表现。毫无疑问,Python依然遥遥领先: Python 第…

Caffeine本地缓存快速上手教程,通俗易懂

1. 概述 使用缓存的优点是可以减少直接访问数据库的压力。Caffeine是目前单机版缓存性能最高的,提供了最优的缓存命中率。用法和java中的map集合比较类似,底层使用一个ConcurrencyHashMap来保存所有数据,可以理解为一个增强版的map集合&…