tomcat类加载顺序的一些疑问

发布于 2022-09-11 23:42:19 字数 519 浏览 24 评论 0

tomcat中一个类的默认加载流程,在网上看见了两种说法。
其一:
1.从缓存中加载
2.如果没有,则从扩展类加载器和Bootstrap类加载器中加载。
3.如果没有,则从当前类加载器加载(按照WEB-INF/classes、WEB-INF/lib的顺序)。
4.如果没有,则从父类加载器加载,由于父类加载器采用默认的委派模型,所以加载顺序为System、Common、Shared。

其二:

  1. 从 JVM 内部的 Bootstrap 仓库加载
  2. 从应用程序加载器路径,即 CLASSPATH 下加载
  3. 从 Web 程序内的 /WEB-INF/classes 目录
  4. 从 Web 程序内的 /WEB-INF/lib 中的 jar 文件
  5. 从容器 Common 加载器仓库,即所有 Web 程序共享的资源加载。

上面加粗的两部分,加载时到底是先去系统类加载器加载还是先Webapp加载器加载呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文