JVM-类加载器的双亲委派模子详解

[复制链接]
发表于 2026-1-19 13:33:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
JVM中存在三个默认的类加载器:

  • BootstrapClassLoader
  • ExtClassLoader
  • AppClassLoader
AppClassLoader的父加载器是ExtClassLoader,ExtClassLoader的父加载器是 BootstrapClassLoader。
它们之间的关系是:AppClassLoader->ExtClassLoader->BootstrapClassLoader
在加载类的时间,它们会采取层层递进,向上委派的方式举行加载。
详细来说就是JVM在加载⼀个类时,会调用AppClassLoader的loadClass方法来加载这个类,不外在这个方法中,会先利用ExtClassLoader的loadClass方法来加载类,同样ExtClassLoader的loadClass方法法中会先利用 BootstrapClassLoader来加载类,假如BootstrapClassLoader加载到了就直接乐成,假如 BootstrapClassLoader没有加载到,那么ExtClassLoader就会自己实行加载该类,假如没有加载到,那么则会由AppClassLoader来加载这个类。
以是,双亲委派指得是,JVM在加载类时,会委派给Ext和Bootstrap举行加载,假如也没加载到才会终极由自己举行加载。
总结:类加载的方式层层递进,向上委派,先利用最上层也就是最中父类举行实行加载,若可以加载则直接加载,否则由上到下再层层实行加载,假如末了都加载不到,则利用自己的自界说类加载举行加载。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表