我知道java中类加载器的层次结构是:
1.Bootstrap 类加载器(在本机代码中)
2. 扩展类加载器(sun.misc.Launcher$ExtClassLoader
)
3. 系统类加载器(sun.misc.Launcher$AppClassLoader class
)
4. 自定义类加载器(即应用服务器、ear 类加载器、war 类加载器)
我不清楚为什么需要额外的子类加载器。我可以理解在本机代码中的类加载器之后对“纯 java”类加载器的需求。
我对可能的原因有一些想法,但有人可以为我提供关于这种行为/需要类加载器层次结构的明确解释吗?
一般来说,但也适用于 j2ee。