登录
登录 注册新账号
注册
已有账号登录

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加载器加载呢?

0 个回答
撰写答案