sofa-ark
sofa-ark copied to clipboard
biz被卸载时bizclassloader类加载行为被改变
原因
- 缓存被清理com.alipay.sofa.ark.container.service.classloader.AbstractClasspathClassLoader#classCache
- hook失效 com.alipay.sofa.ark.container.service.classloader.BizClassLoader#postLoadClass
可能存在的问题 在中间件兼容性不够完善等特殊场景中,模块被卸载后仍旧有很大可能会存在bizclassloader.loadclass()的行为,如果打破了该行为会导致不预期的ClassNotFoundException或NoClassDefFoundError
jdk规范中classloader close后,通常会禁止新class define,但是仍旧会允许get loaded class