关于Tomcat启动时为Catalina赋值cparaentClassLoader问题

    // 用反射赋值
    Class<?> paramTypes[] = new Class[1];
    paramTypes[0] = Class.forName("java.lang.ClassLoader");
    
    Object paramValues[] = new Object[1];
    paramValues[0] = sharedLoader;
    
    Method method = startupInstance.getClass().getMethod(methodName, paramTypes);
    method.invoke(startupInstance, paramValues);
    
    // 不用反射实现
    Catalina catalina = new Catalina();
    catalina.setParentClassLoader(sharedLoader);

这两种方式的效果是一样的吗?
用反射的时候, 没有实例化对象, 而 parentClassLoader 又不是静态的, 那么它给什么赋的值?
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题