首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
JVM 的类加载机制和双亲委派机制
返回列表
发新帖
JVM 的类加载机制和双亲委派机制
[复制链接]
发表于 2026-1-27 12:22:49
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
1.根本概念:
在Java假造机(JVM)中,类加载机制是其焦点构成部门之一,它负责将类(.class文件)加载到JVM的方法区内,并在必要时初始化这些类。本文将深入探究JVM的类加载机制,特殊是双亲委派模子的原理和应用。
2.类加载机制:
类加载机制包罗加载、链接和初始化三个阶段:
(1).加载:
通过类的全限定名获取界说此类的二进制字节流,并在内存中创建一个代表该类的java.lang.Class对象。
(2).链接:
包罗验证、预备和分析三个子步调,确保加载的类信息符合JVM规范,为类的静态变量分配内存,并设置默认初始值,将常量池中的符号引用转换为直接引用。
验证(Verification):确保加载的类信息符合JVM规范,没有
安全
题目。
预备(Preparation):为类的静态变量分配内存,并设置默认初始值。
分析(Resolution):将常量池中的符号引用转换为直接引用。
(3).初始化:
实验类的构造器方法<clinit>(),初始化类的静态变量和静态
代码
块。
3.双亲委派机制:
双亲委派机制(Parent Delegation Model)是 Java 类加载器的一种工作模式。
当一个类加载器去加载另一个类的时间,当前的类加载器会委托给其父类加载器查找是否加载过,假如加载过就直接返回,假如不停到最顶层加载器找不到,再由自顶向下举行加载。
4.类加载器的条理结构:
(1).启动类加载器(Bootstrap ClassLoader):
负责加载Java焦点库,如rt.jar。
(2).扩展类加载器(Extension ClassLoader):
负责加载扩展库,如JAVA_HOME/lib/ext目次下的类库。
(3).应用步调类加载器(Application ClassLoader):
也称为体系类加载器,负责加载应用步调类路径上的类库。
应用步调类加载器的父类为扩展类加载器,扩展类加载器的父类为启动类加载器。
5.双亲委派机制模子优点:
(1).制止类被重复加载:
确保一个类只被加载一次,由开始找到该类的加载器举行加载。
(2).掩护焦点类库的
安全
:
制止恶意
代码
更换JDK中焦点类库,比如java.lang.String,确保焦点类库的完备性和
安全
。
6.突破双亲委派机制:
(1).重写loadclass方法,不再实现双亲委派机制。
(2).JNDI.JDBC.JCE.JAXB和J
BI
等框架使用了SPI机制+线程上下文类架加载器。
(3).OSGI实现了一整套类加载机制,允许同级类加载器之间相互和谐。
7.总结:
JVM 的类加载机制和双亲委派机制为 Java 提供了机动和安全的类加载方式,确保应用步调的稳固和高效运行。通过把握这些机制,开发者可以更好地明白和调试 Java 应用步调的运行过程。
回复
使用道具
举报
返回列表
浏览过的版块
SAAS
分布式数据库
数据仓库与分析
篮之新喜
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表