实用指南:JVM(十)-- 类的加载器

news/2025/11/12 14:53:58/文章来源:https://www.cnblogs.com/gccbuaa/p/19214067

目录

一、概述

1. 类的加载分类

2. 类加载机制的基本特征

二、类加载器的分类

1. 引导类加载器

2. 扩展类加载器

3. 系统类加载器

三、双亲委派机制

1. 定义与本质

2. 优势和劣势

3. 破坏双亲委派机制

四、沙箱安全机制

五、自定义类加载器

1. 为什么要自定义类加载器?

2. 实现方法


一、概述

JVM执行类加载机制的前提。就是类加载器

Java的核心组件,就是ClassLoader所有的Class都是由ClassLoader进行加载的,ClassLoader负责经过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang.class对象实例。然后交给Java虚拟机进行链接、初始化等操作。因此,ClassLoader在整个装载阶段,只能影响到类的加载,而无法通过ClassLoader去改变类的链接和初始化行为。至于它是否可以运行,则由执行引擎决定。

1. 类的加载分类

2. 类加载机制的基本特征

二、类加载器的分类

JVM协助两种类型的类加载器,分别为引导类加载器(启动类加载器)和自定义类加载器

启动类加载器是使用C++搭建的,其他的加载器都是使用Java来达成的。

1. 引导类加载器

该加载器用来加载Java的核心类库,用于提供JVM自身需要的类。

它用于加载扩展类加载器和应用程序类加载器,并指定为它们的父类加载器。

2. 扩展类加载器

3. 系统类加载器

自定义的类默认使用体系类加载器。

三、双亲委派机制

1. 定义与本质

双亲委派机制就是为了保证类的唯一性,只能被加载一次。

2. 优势和劣势

优势:

  • 避免类的重复加载,确保了一个类的全局唯一性。
  • 保护程序安全,防止核心API被篡改。

劣势:

  • 检查类是否加载的委托过程是单向的,这个方式哪怕从结构上来说比较清晰,使各个ClassLoader的职责非常明确,不过会带来一个挑战,即顶层的ClassLoader无法访问底层的ClassLoader所加载的类

3. 破坏双亲委派机制

第一次:

第二次:


第三次:

四、沙箱安全机制

沙箱机制就是将Java代码限定在虚拟机特定的运行范围中,并且严格限制代码对本地系统资源的访问。通过这样的措施来保证对代码的有限隔离,防止对本地环境造成破坏。

五、自定义类加载器

1. 为什么要自定义类加载器?

  • 隔离加载类:在某些框架内进行中间件与应用的模块隔离,把类加载到不同的环境。比如:阿离内部某容器的框架利用自定义类加载器确保应用中依赖的jar包不会影响到中间件运行时使用的jar包。
  • 修改类加载的方式:类的加载模型并非强制,可以根据实际情况在某个时间点按需进行动态加载。
  • 扩展加载源:比如从数据库、网络等地方进行加载。
  • 防止源码泄露:Java代码容易被编译和篡改,可以进行编译加密。那么类加载器也需要自定义,还原加密的字节码。

2. 实现方法

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

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

相关文章

Qoder 降价,立即生效!首购 2 美金/月

Qoder 降价,立即生效!首购 2 美金/月 Qoder 全球上线仅两个月,已获得全球数十万开发者的信赖与支持。 为了让每一位开发者都能轻松用上顶尖的 AI 编程工具,Qoder 面向全球开发者推出首购优惠:由原价 10 美元/月直…

AE扩展-After Ease v1.1.4 关键帧动画曲线缓入缓出调节

扩展简介 After Ease 是一款用于AE的动画辅助扩展,可轻松创建弹跳(Bounce)与回弹(Elastic)等缓动效果。它提供直观的曲线编辑界面,支持实时预览动画变化;可将表达式转换为关键帧,方便后期微调;并适用于位置、…

同时支持RTSP/ONVIF/GB28181的平台哪里找?来看EasyGBS!

同时支持RTSP/ONVIF/GB28181的平台哪里找?来看EasyGBS!还在到处找能同时兼容RTSP/ONVIF/GB28181的视频平台?翻了半天不是缺这个协议、就是用着麻烦,真的太费时间!其实根本不用这么折腾,EasyGBS早就把这三大主流协…

【SPIE出版 | 快速见刊检索】第二届电子信息工程与智能通信国际研讨会(EIC 2025)

第二届电子信息工程与智能通信国际研讨会(EIC 2025)将于2025年11月14-16日在中国-厦门召开。【SPIE出版,拥有双刊号!快速见刊检索!】 【集美大学主办,高校背书,可靠有保障!| EIC 2025已上线集美大学计算机工程…

更新了!微信公众号文章数据批量导出excel软件1.1版,轻松实现统计分析

免责声明:本文章的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本软件及生成的内容用于非法用途或侵犯他人合法权益。如果你想要转载下载文章数据,请务必获得相关责任人的授权!一、前言 今天…

中国数据集成平台TOP10综合评估报告(2025)

在数字化转型浪潮下,数据集成平台已成为企业打破"数据孤岛"、实现业务协同的核心基础设施。超过90%的企业存在数据分散于多个系统的问题,形成了严重的数据孤岛,导致数据质量参差不齐,重复、错误、缺失数…

从“实时分账”到“智能问数”:汇付天下以“Data Agent”重塑支付业务决策效率

作为技术驱动的数字化企业,汇付天下践行“数字化+国际化”战略,为全球企业提供支付收款、账户服务、资金管理和数据集成解决方案,深耕品牌连锁、数字经济、跨境国际、SaaS/软件等行业场景和多元赛道。随着业务规模扩…

热身赛总结 题解

1. 旅行计划 赛时思路 因为目标是:求出一直向东以城市 \(i\) 为终点最多能够游览多少个城市,我进行逆向思维,转换题意,将目标改成:以城市 \(i\) 为起点一直向西最多能够游览多少个城市,再看题目的数据范围:$n \…

2025年气流流型检测仪品牌推荐与选择制造企业权威推荐榜单:灌装机气流流型检测仪/气流流型验证服务/烟雾发生器源头厂家精选

在制药、生物工程和电子行业对洁净环境要求日益严格的今天,一台可靠的气流流型检测仪已成为保障洁净室性能的关键装备。 本文将基于技术实力、生产能力、产品质量、市场表现及服务体系等多维度核心指标,为您呈现2025…

告别重复“点点点”!基于Dify工作流,打造能思考、会决策的自主测试智能体

关注 霍格沃兹测试学院公众号,回复「资料」, 领取人工智能测试开发技术合集 在敏捷开发与DevOps的洪流下,传统的手工“点点点”测试已成为交付链条上最沉重的枷锁。即便引入了自动化脚本,其脆弱的、预设路径的测试模…

matplotlib 保存pdf图时,TrueType font is missing table.

============================= matplotlib 保存pdf 图时,TrueType font is missing table.E:\Eprogramfiles\Anaconda3\lib\site-packages\matplotlib\backends\_backend_pdf_ps.py:102: RuntimeWarning: Glyph 8722…

开盖扫码领红包小程序系统:实体商家的营销增长利器

一、概述总结 开盖扫码领红包小程序系统是一款适配微信公众号的线下实体商品推广工具,通过微擎系统交付,提供未加密源码支持二次开发。商家可生成固定二维码或 “一物一码”,搭配防伪安全验证码印刷在商品包装或瓶盖…

Vue---开发数字大屏大屏

最近做项目,需要给客户做个高端大气的数字屏,展示各种数据。 具体参考:https://cloud.tencent.com/developer/article/2409796大屏数据可视化解决方案:DataVDataV 是一款基于 Vue 开发的数据可视化组件库,主要用于…

es 如果主分片坏了,一个副本分片是最新的和主分片一样怎么操作变为主分片怎么操作

在 Elasticsearch(ES)中,如果主分片损坏,但某个副本分片的数据是最新的,集群会自动将该副本提升为新的主分片,无需人工干预。这是 ES 内置的高可用机制的一部分。 自动提升流程如下:节点故障检测集群检测到主分…

1JDBC简介

1、以上仅供参考,如有疑问,留言联系

el-table展开行内容增加后没有出现滚动条

增加以下代码: this.$nextTick(() => { this.$refs.pageTable.doLayout(); }) 实现表格重新布局

海报积分商城小程序:高效吸粉与礼品兑换的全能解决方案

一、概述总结 海报积分商城是一款基于微擎系统开发的多功能营销工具,支持微信公众号(含订阅号借权服务号使用)场景,核心通过二维码海报邀请好友赚取邀请币兑换礼品的模式,实现高效吸粉与用户留存。系统经商用验证…

智能体同工作流的关系和区别

智能体同工作流的关系和区别理解智能体(Agent)和工作流(Workflow)的区别,可以从定义、核心能力、应用场景、自主性等维度展开分析:智能体(Agent) 工作流(Workflow)定义 具备感知、决策、行动能力的智能实体,…

出入门禁管理应用:智能高效的出入口管控解决方案

一、概述总结 微擎出入门禁管理应用是一款专为微信公众号开发的智能管控工具,以 “表单申请 + 二维码核销” 为核心流程,实现对人员出入的全流程数字化管理。应用支持多级别审核、自定义配置、实时数据监控与数据导出…

习题解析之:正负交错数列前n项和

习题解析之:正负交错数列前n项和【问题描述】求 1-1/2+2/3-3/5+4/8-5/13+...的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。 输入格式一个正整数 输出格式前n项的和 示例输入:…