JVM的双亲委派模型

定义与本质:

类加载器用来把类文件加载到JVM内存中。从JDK1.2开始,类加载过程采用双亲委派模型,保证Java平台安全。

父类委托的定义:

一个类加载器在接到加载类请求的时候,首先不会去加载这个类,而是把这个类加载请求委托给父类去完成,近依次递归,如果父类加载器可以完成类加载任务就成功返回,只有父类加载器无法完成此加载任务才会去加载子类。

https://www.processon.com/view/link/64ff12534dabf27e5655de17 访问密码:S1Ub

父类委托的本质:

父类委托的优势:

1.避免类的重复加载、保障类的唯一性。

父类委托的劣势:

1.顶层的类加载器无法访问到底层的类加载器所加载的类。

缓存机制

保证所有加载过的Class都将在内存中缓存,当程序中需要使用某个 Class时,类加载器先从内存的缓存区寻找该Class,只有缓存区不存在,系统才会读取该类对应 的二进制数据,并将其转换成Class对象,存入缓存区。这就是为什么修改了Class后,必须重启 JVM,程序的修改才会生效.对于一个类加载器实例来说,相同全名的类只加载一次,即loadClass方法不会被重复调用。

相关推荐
猫头虎9 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
wgslucky9 小时前
jdk17 配置jvm参数中gc的日志及控制日志数量和大小
jvm·gc·-xlog
痴儿哈哈14 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
野犬寒鸦20 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
闻哥1 天前
Kafka高吞吐量核心揭秘:四大技术架构深度解析
java·jvm·面试·kafka·rabbitmq·springboot
星辰_mya1 天前
Elasticsearch线上问题之慢查询
java·开发语言·jvm
蓝帆傲亦1 天前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
Codiggerworld2 天前
JVM内存模型——你的对象住在哪里?
jvm
马猴烧酒.2 天前
【面试八股|JVM虚拟机】JVM虚拟机常考面试题详解
jvm·面试·职场和发展
2301_790300962 天前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python