gpt4 book ai didi

java - 为什么 Apache tomcat 的 Bootstrap 类调用 ClassLoader.loadclass 而不是 new 运算符?

转载 作者:行者123 更新时间:2023-11-28 23:24:38 24 4
gpt4 key购买 nike

我正在浏览 apache tomcat 开源代码,一开始,在 Bootstrap.java 中我发现了这个:

Class<?> startupClass = catalinaLoader.loadClass("org.apache.catalina.startup.Catalina");

即使Bootstrap.java和这个Catalina.java属于同一个包,为什么apache tomcat的Bootstrap(org.apache.catalina.startup)类会调用ClassLoader.loadclass加载Catalina类(org.apache.catalina.startup) .Catalina) 然后是 class.newInstance,为什么不使用 new 运算符创建 Catalina 实例呢?

最佳答案

由于代码显式使用了 catalinaLoader 并假设它稍后创建了该类的一个实例,因此要确保 Catalina 类使用与Bootstrap 类。

有关这意味着什么的更多信息,请参阅有关类加载的文档。

关于java - 为什么 Apache tomcat 的 Bootstrap 类调用 ClassLoader.loadclass 而不是 new 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38844109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com