首页 > 编程语言 > 详细

JAVA虚拟机(JVM)-类加载机制

时间:2020-04-12 18:25:08      阅读:52      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

类加载机制:

全盘委托:

所谓全盘委托,就是当一个类加载器负责加载某个Class时,该Class所依赖和引用其他Class也将由该类加载器负责载入,除非显示的使用另外一个类加载器来加载

缓存机制:

加载过的Class都会放进缓存,在加载其他类的时候先从缓冲区中查找,不存在的时候在按相关机制加载,这也是我们修改后端代码为什么要重启的原因之一。

双亲委派:

技术分享图片

如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式

好处:

安全,防止类的重新加载。以String类为例,自己写的类应该是系统类加载器加载,而双亲委派机制发现启动类加载器也有String类所以会用启动类加载器加载。然后就报错了。

技术分享图片

 

JAVA虚拟机(JVM)-类加载机制

原文:https://www.cnblogs.com/404zyw/p/12686176.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!