sofastack / sofa-ark

SOFAArk is a light-weight,java based classloader isolation framework.
https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/
Apache License 2.0
1.57k stars 500 forks source link

对 ClassLoader 的一些疑问 #265

Closed AJ-Liang closed 1 year ago

AJ-Liang commented 5 years ago

PluginClassLoader的大致逻辑是:通过优先级在各classloader加载class,最后进行resolveClass判断。 问题:

  1. 为什么在外层 PluginClassLoader 做 resolveClass,不考虑直接在相应的 classloader 中做 resolve?如:resolveJDKClass(name, resolve)。
  2. 在优先级更高的 classloader(如:JDKDelegateClassLoader) 中 load 出来的类,放在 PluginClassLoader 进行 resolve,效果与在 JDKDelegateClassLoader 直接 resolve 有何不同?
  3. resolve 为 true 与 false 的性能表现如何?
lylingzhen commented 2 years ago

SOFAArk 1.0 的问题请 yuanyuan 帮忙回答一下。 另外,SOFAArk 2.0 大幅简化了类加载模型,并且采用了传统 SpringBoot 的启动方式,实现了与 Spring 生态更好的兼容。

lylingzhen commented 2 years ago

请 @yuanyuancin 回答一下。

lvjing2 commented 1 year ago

长时间 inactive 的issues,将会自动进入关闭状态。该 issues 问题属于纯 java 问题,这里先关闭了。