Java双亲委派机制

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


概述

Java程序在运行的时候,JVM通过类加载机制(ClassLoader)把class文件加载到内存中,只有class文件被载入内存,才能被其他class引用,使程序正确运行起来.
在这里插入图片描述
ClassLoader的分类

Java中的ClassLoader有三种:Bootstrap ClassLoader 、Extension ClassLoader、App ClassLoader。

  1. Bootstrap ClassLoader

由C++写的,由JVM启动.启动类加载器,负责加载java基础类,对应的文件是%JRE_HOME/lib/ 目录下的rt.jar、resources.jar、charsets.jar和class等

2.Extension ClassLoader

Java类,继承自URLClassLoader 扩展类加载器,对应的文件是 %JRE_HOME/lib/ext 目录下的jar和class等

3.App ClassLoader

Java类,继承自URLClassLoader 系统类加载器,对应的文件是应用程序classpath目录下的所有jar和class等

三、ClassLoader的加载机制

Java的加载机制是双亲委派机制来加载类,

为什么要使用这种方式?这个是为了保证 如果加载的类是一个系统类,那么会优先由Bootstrap ClassLoader 、Extension ClassLoader先去加载,而不是使用我们自定义的ClassLoader去加载,保证系统的安全!

这三种类加载器存在父子关系,App ClassLoader的父类加载器是Extension ClassLoader,Extension ClassLoader的父类加载器是Bootstrap ClassLoader,要注意的一点是,这里的父子并不是继承关系。

ClassLoader双亲委派机制

当AppClassLoader加载class时 不会自己去尝试加载这个类 而把类委派给父类加载器ExtClassLoader加载。

当ExtClassLoader加载class时 不会自己去尝试加载这个类 而把类委派给父类加载器BootStrapClassLoader加载。

如BootStrapClassLoader加载失败(如在$JAVA_HOME/jre/lib中未找到该class) 会使用ExtClassLoader加载。

若ExtClassLoader加载失败 会使用AppClassLoader加载 如AppClassLoader加载失败 则抛出异常ClassNotFoundException。

四、自定义ClassLoader

为什么要自定义ClassLoader?

因为系统的ClassLoader只会加载指定目录下的class文件,如果你想加载自己的class文件,那么就可以自定义一个ClassLoader。

而且我们可以根据自己的需求,对class文件进行加密和解密。

这类似于软件定制了一个插件,只要插件实现了指定的方法,系统就可以通过反射调来调用该方法,从而实现额外特定功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一起长锈:4 默认不可变的变量绑定与引用(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…

sql优化思路

sql的优化经验 这里解释一下SQL语句的优化的原理 1.指明字段名称,可以尽量使用覆盖索引,避免回表查询,因此可以提高效率 2.字面意思,无需过多赘述。索引就是为了提高查询效率的。 3.图中两条sql直接可以使用union all 或者 uni…

羊大师分解,羊奶不为人知的健康奇迹

羊大师分解,羊奶不为人知的健康奇迹 羊奶是一种营养丰富的食品,拥有许多不为人知的健康益处。 益智健脑:羊奶中含有较高的钙、蛋白质、氨基酸、维生素、矿物质、无机盐、核酸等营养成分,这些都对大脑发育及增强智力有很大帮助。…

MySQL mydumper工具

目录 1. mydumper介绍 2. mydumper参数解释 3. 备份例子 3.1 备份全库(未包含其他) 3.2 备份全库(包含其他) 3.3 备份指定数据库(-B或--database) 3.4 导出指定表(-T或--tables-list) 3.5 只导出表结构,不导出表数据(-d或--no-data) 3.6 只导出表数据&#…

包管理工具npm的安装和使用

包管理工具 管理 包 的应用软件,可以对 包 进行下载 安装,更新,删除,上传 等操作。 借助包管理工具,可以快速开发项目,提升开发效率。 包管理工具是一个通用的概念,很多编程语言都有包管理工…

likeshop多商户单商户商城_likeshop跑腿源码_likeshop物品租赁系统开源版怎么配置小程序对接?

本人是商业用户所以能持续得到最新商业版,今天我说下likeshop里面怎么打包小程序,大家得到程序时候会发现它有admin目录 app目录 server目录 这三个目录分别是做什么呢? 1.admin目录 下面都是架构文件使用得是Node.js打包得,至于…

管道通信与Linux命令的执行-(读书笔记-十三)

|前一个命令的输出作为后一个命令的输入。 在Linux中,|符号是一个管道符号,用于将前一个命令的输出作为后一个命令的输入。这种机制允许你将多个命令组合在一起,以执行复杂的操作。下面是一些基本的例子: 查看当前目录下的文件列…

数据互通新纪元,企业如何实现系统无缝对接?

一、客户介绍 某文化发展有限公司,是一家在二次元文化领域深耕的领先企业,自成立以来,始终致力于为广大二次元爱好者提供丰富多样的正版衍生品和独特的文化体验。作为一家专注于二次元周边产品的公司,该公司拥有全面的产品线&…

网站访问免费升级成 HTTPS——值得收藏

实现HTTPS协议可以分为四个主要步骤,以确保网站数据传输的安全性。以下是简明清晰的流程概述: 1. 申请SSL证书 - SSL证书是实现HTTPS的基础,它包含了网站的身份信息以及公钥等。首先,你需要从受信任的证书颁发机构(CA)申请一个SSL…

新建的springBoot WEB项目无法自动返回html模版(gradle+kotlin版本)

最近研究了springBoot创建web项目, 第一步服务端返回字符串没有问题,第二步返回html时,还是返回的字符串。 文章目录 一、参考方案二、新建springBoot web项目三、启动项目的三种方式 一、参考方案 将控制器类的 RestController 改为 Contro…

Listview控件的5种视图

在C#中,ListView控件是用于显示和编辑列表数据的常用控件。它可以显示数据项的列表,并允许用户对列表中的数据进行操作。 ListView控件有五种视图模式,分别是: LargeIcon视图:在此视图中,每个数据项都显示…

如何剪辑视频中不想要的片段?教你轻松剪辑

如何剪辑视频中不想要的片段?在视频编辑的精湛艺术中,精确剪辑掉不想要的片段无疑是提升视频品质和专业水准的关键一环。技术的进步使我们得以借助多种高效、易用的视频剪辑软件,轻松去除冗余,保留精华,从而创作出更加…

大模型模型简化机器人训练;简单易用的 3D 工具Project Neo;特斯拉放出了擎天柱机器人最新训练视频

✨ 1: DrEureka 利用大语言模型自动化将机器人仿真环境训练结果转移到真实世界 DrEureka是一种利用大型语言模型(LLMs)自动化和加速从仿真(sim)到现实世界(real)转移的技术。在机器人技能学习领域&#x…

使用socat 做端口转发 调试设备

使用 socat 监听设备的端口,转发到PC的 一个sniff 程序上,查看wireshark 或者直接用 scapy 进行分析 有了socat 也可以做 nat 映射

MySQL mysqldump备份恢复

目录 1. 备份类型 2. 逻辑备份VS物理备份 3. mysqldump工具 3.1 备份命令格式 3.2 备份选项 3.3 备份全库(结构和数据) 3.4 备份全库(仅结构) 3.5 备份全库(仅数据) 3.6 备份单个数据库(结构和数据) 3.7 备份单个数据库(仅结构) 3.8 备份单个数据库(仅数据) 3.9…

低代码系统能够解决哪些痛点?

不同的应用场景下,低代码系统解决的痛点是不一样的。工业应用场景中的组态软件应该说是最早的低代码系统了。以 Topstack 为代表的Web 组态软件,其核心功能设备数据采集、图形监控画面、数据报表、数据看板、业务逻辑开发等,都是无代码或低代…

个人出租房屋收入需汇算吗?柯桥会计培训

2023年度个人所得税综合所得汇算清缴正在进行,个人出租房屋的收入需并入汇算清缴吗?汇算最后一步显示免申报是什么意思? 1 个人出租房屋的收入需并入汇算清缴吗? 答:不用。根据《国家税务总局关于办理2023年度个人所…

UaExpert(OPCUA上位机第三方工具)通过OPCUA协议读写PLC 1500数据

一、CPU1500配置参数 1.激活OPC UA服务器 2.选择许可证(所需要的许可证类型) 3.启用访客认证(如果需要上位机输入用户信息访问,则需要添加用户名和密码) 4.选择TCP/IP,本地仿真选择local、single adapt…

基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

前言 对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包…

CVE-2022-32250漏洞原理

CVE-2022-32250漏洞原理 原创 hope 蚁景网安 2024-05-06 20:00 湖南 前言 在nftales中存在着集合(sets),用于存储唯一值的集合。sets 提供了高效地检查一个元素是否存在于集合中的机制,它可以用于各种网络过滤和转发规则。 而CVE-2022-32250漏洞则是由…