温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ClassLoader的分类及加载顺序是什么

发布时间:2021-12-09 09:46:30 来源:亿速云 阅读:194 作者:柒染 栏目:大数据

ClassLoader的分类及加载顺序是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.主要分4类,见下图橙色部分

   JVM类加载器:这个模式会加载JAVA_HOME/lib下的jar包

   扩展类加载器:会加载JAVA_HOME/lib/ext下的jar包

   系统类加载器:这个会去加载指定了classpath参数指定的jar文件

   用户自定义类加载器:sun提供的ClassLoader是可以被继承的,允许用户自己实现类加载器

2.类加载器的加载顺序如图所示:

ClassLoader的分类及加载顺序是什么

3.类加载顺序

  JVM并不是把所有的类一次性全部加载到JVM中的,也不是每次用到一个类的时候都去查找,对于JVM级别的类加载器在启动时就会把默认的JAVA_HOME/lib里的class文件加载到JVM中,因为这些是系统常用的类,对于其他的第三方类,则采用用到时就去找,找到了就缓存起来的,下次再用到这个类的时候就可以直接用缓存起来的类对象了,ClassLoader之间也是有父子关系的,没个ClassLoader都有一个父ClassLoader,在加载类时ClassLoader与其父ClassLoader的查找顺序如下图所示:

ClassLoader的分类及加载顺序是什么

关于ClassLoader的分类及加载顺序是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI