当前位置: 首页 > news >正文

JVM-类加载器的双亲委派模型详解

JVM中存在三个默认的类加载器:

  1. BootstrapClassLoader
  2. ExtClassLoader
  3. AppClassLoader

AppClassLoader的父加载器是ExtClassLoader,ExtClassLoader的父加载器是 BootstrapClassLoader。
它们之间的关系是:AppClassLoader->ExtClassLoader->BootstrapClassLoader
在加载类的时候,它们会采用层层递进,向上委派的方式进行加载

详细来说就是JVM在加载⼀个类时,会调用AppClassLoader的loadClass方法来加载这个类,不过在这个方法中,会先使用ExtClassLoader的loadClass方法来加载类,同样ExtClassLoader的loadClass方法法中会先使用 BootstrapClassLoader来加载类,如果BootstrapClassLoader加载到了就直接成功,如果 BootstrapClassLoader没有加载到,那么ExtClassLoader就会自己尝试加载该类,如果没有加载到,那么则会由AppClassLoader来加载这个类。
所以,双亲委派指得是,JVM在加载类时,会委派给Ext和Bootstrap进行加载,如果也没加载到才会最终由自己进行加载。

总结:类加载的方式层层递进,向上委派,先使用最上层也就是最中父类进行尝试加载,若可以加载则直接加载,否则由上到下再层层尝试加载,如果最后都加载不到,则使用自己的自定义类加载进行加载。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在C#中使用NPOI将表格中的数据导入excel中
  • 信息安全数学基础(15)欧拉定理
  • 第二十九章 添加数字签名 - 指定 KeyInfo 的规范化方法
  • 【Kubernetes】常见面试题汇总(二十七)
  • 【原创 架构设计】多级缓存的应用、常见问题与解决方式
  • 【无人机设计与控制】基于蜣螂优化算法求解多无人机集群路径规划问题
  • 【波束管理】
  • leetcode第80题:删除有序数组的重复项(||)
  • MatrixOne助力一道创新打造高性能智能制造AIOT系统
  • java进程与线程
  • 基于单片机无线智能报警系统的设计
  • 华为昇腾智算中心-智算中心测试方案与标准
  • Java Integer 缓存机制:小镇的居民与大城市的拥堵
  • python内置模块pathlib.Path类操作目录和文件
  • Redis数据结构之list列表
  • 2017前端实习生面试总结
  • java 多线程基础, 我觉得还是有必要看看的
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • js面向对象
  • Python 基础起步 (十) 什么叫函数?
  • SQL 难点解决:记录的引用
  • Swift 中的尾递归和蹦床
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Tornado学习笔记(1)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue数据传递--我有特殊的实现技巧
  • XML已死 ?
  • 对超线程几个不同角度的解释
  • 对象管理器(defineProperty)学习笔记
  • 观察者模式实现非直接耦合
  • 回流、重绘及其优化
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 力扣(LeetCode)357
  • 如何设计一个比特币钱包服务
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 算法---两个栈实现一个队列
  • 在weex里面使用chart图表
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #FPGA(基础知识)
  • #传输# #传输数据判断#
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (52)只出现一次的数字III
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (一)u-boot-nand.bin的下载
  • (转)Oracle存储过程编写经验和优化措施
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET IoC 容器(三)Autofac