sofa-ark
sofa-ark copied to clipboard
对 ClassLoader 的一些疑问
PluginClassLoader的大致逻辑是:通过优先级在各classloader加载class,最后进行resolveClass判断。 问题:
- 为什么在外层 PluginClassLoader 做 resolveClass,不考虑直接在相应的 classloader 中做 resolve?如:resolveJDKClass(name, resolve)。
- 在优先级更高的 classloader(如:JDKDelegateClassLoader) 中 load 出来的类,放在 PluginClassLoader 进行 resolve,效果与在 JDKDelegateClassLoader 直接 resolve 有何不同?
- resolve 为 true 与 false 的性能表现如何?
SOFAArk 1.0 的问题请 yuanyuan 帮忙回答一下。 另外,SOFAArk 2.0 大幅简化了类加载模型,并且采用了传统 SpringBoot 的启动方式,实现了与 Spring 生态更好的兼容。
请 @yuanyuancin 回答一下。
长时间 inactive 的issues,将会自动进入关闭状态。该 issues 问题属于纯 java 问题,这里先关闭了。