欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

类加载器[Java][举例理解]

时间:2023-06-30
类加载器的理解 这里我们通过一个例子来理解类加载器

eg:

package 反射.类加载过程;public class ClassLoaderTest { public static void main(String[] args) { ClassLoader classLoader1 = ClassLoaderTest.class.getClassLoader(); // 这里输出的结果为: jdk.internal.loader.ClassLoaders$AppClassLoader@3fee733d System.out.println(classLoader1); ClassLoader classLoader2 = classLoader1.getParent(); //这里输出的结果为: jdk.internal.loader.ClassLoaders$PlatformClassLoader@7291c18f System.out.println(classLoader2); ClassLoader classLoader3 = classLoader2.getParent(); //这里输出结果为: null (因为根类加载器是获取不到的) System.out.println(classLoader3); ClassLoader classLoader4 = String.class.getClassLoader(); //这里输出的结果为: null(也是因为引导类加载器(根类加载器)是获取不到的) System.out.println(classLoader4); }}

总结 :

我们可以发现系统类加载器继承自扩展类加载器,而扩展类加载器又继承与引导类加载器(根类加载器)

引导类加载器外界是获取不到的,而系统类加载器和扩展类加载器是可以获取到的

AppClassLoader是系统类加载器中的一种

PlatformClassLoader是扩展类加载器中的一种

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。