我对这两个类加载器很困惑。当谈论Java类加载器的层次结构时,通常会提到引导类加载器和扩展类加载器以及第三类加载器(系统类加载器或应用程序类加载器)。
为了更准确,我查了JDK的源码。在班上Launcher
,有代码:
loader = AppClassLoader.getAppClassLoader(extcl);
在班上ClassLoader
, 方法:
getSystemClassloader()
还说系统类加载器用于启动应用程序。
那么层次结构中的第三个是哪一个,或者两个类加载器是否相同?
系统类加载器是应用程序类加载器的不同名称。
Source:
https://blogs.oracle.com/sundararajan/entry/understanding_java_class_loading https://blogs.oracle.com/sundararajan/entry/understanding_java_class_loading
应用程序类加载器...也(令人困惑地)称为“系统类”
loader” - 不要与加载 Java“系统”的引导加载程序混淆
类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)