sofa-ark icon indicating copy to clipboard operation
sofa-ark copied to clipboard

biz被卸载时bizclassloader类加载行为被改变

Open yuanyuancin opened this issue 1 year ago • 4 comments

原因

  1. 缓存被清理com.alipay.sofa.ark.container.service.classloader.AbstractClasspathClassLoader#classCache
  2. hook失效 com.alipay.sofa.ark.container.service.classloader.BizClassLoader#postLoadClass image

可能存在的问题 在中间件兼容性不够完善等特殊场景中,模块被卸载后仍旧有很大可能会存在bizclassloader.loadclass()的行为,如果打破了该行为会导致不预期的ClassNotFoundException或NoClassDefFoundError

jdk规范中classloader close后,通常会禁止新class define,但是仍旧会允许get loaded class

yuanyuancin avatar Nov 30 '23 04:11 yuanyuancin