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

JVM 双亲委派模型

双亲委派模型(类加载机制中,最常考的问题)

主要是有个好名字

类加载第一个环节中,根据类的全限定类名(包名+类名)找到对应的.class 文件的过程

相比之下,围绕着.class 文件的格式解析校验..这些环节更重要的

JVM 中进行类加载操作需要依赖内部的模块."类加载器(class loader)"

JVM 自带了三种类加载器

Bootstrap ClassLoader  负责在 Java 的标准库中进行查找

ExtensionClassLoader   负责在 Java 的扩展库中进行查找(JDK 自己带的,但是不是标准约定的库)

ApplicationClassLoader  负责在Java 的第三方库/项目中进行查找

这三个类加载器之间,存在"父子关系"(不是父类子类,继承关系)

每个类加载器中有一个 parent 这样的属性,保存了自己的父亲是谁

假设要加载一个类,java.lang.String

假设要加载一个,com.baidu.Test(自己项目中的类)

双亲委派模型的目的

为了确保三个类加载的优先级

标准库优先加载,第三方库/当前项目类最后加载

比如自己写一个类,和标准库恰好重复了,java.lang.String 此时 JVM 保证加载的仍然是标准库的 String 而不是自己写的

双亲委派模型也是可以打破的

程序员在特定场景下,也可以实现自己的类加载器,自己实现的类加载器可以让他遵守,也可以不遵守

http://www.dtcms.com/a/209342.html

相关文章:

  • 系分论文《论软件系统的安全性测试方法》
  • c语言字符串函数
  • 从底层原理分析Python 常用字符串拼接方法效率差异
  • Zotero插入参考文献的
  • PCA例题
  • docker swarm 启动容器报错日志查看方式
  • 工业软件国产化:构建自主创新生态,赋能制造强国建设
  • 基于Python+YOLO模型的手势识别系统
  • 第J2周:ResNet50V2 算法实战与解析
  • 【window QT开发】简易的对称密钥加解密工具(包含图形应用工具和命令行工具)
  • 视频监控管理平台智能平台一体机视频智能分析平台算法管理功能详细步骤
  • AI时代的弯道超车之第二十章:哪些工作AI是替代不了的
  • 基于民锋价格通道模型的波动分析策略研究
  • JUC并发编程1
  • 【JS】Vue 3中ref与reactive的核心区别及使用场景
  • php本地 curl 请求证书问题解决
  • 业务场景中使用 SQL 实现快速数据更新与插入
  • 养生指南:五维焕新健康生活
  • PostgreSQL 处理链接请求
  • AI 驱动近红外光谱预处理:从数据清洗到特征工程的自动化
  • Selenium元素定位的8种核心方法详解
  • [特殊字符] 构建高内聚低耦合的接口架构:从数据校验到后置通知的分层实践
  • 怎么判断一个Android APP使用了Electron 这个跨端框架
  • 气象数字地球新生态:星图云全栈解决方案解析 —— 多源数据融合・精细预报・全场景落地
  • Chrome中http被强转成https问题
  • unity在urp管线中插入事件
  • 什么是软件压力测试,出压力测评报告的第三方软件检测公司推荐
  • Neo4j入门第二期(Spring Data Neo4j的使用)
  • 02-jenkins学习之旅-基础配置
  • Android计算机网络学习总结