课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了Java编程开发类加载的一些基础知识等内容,而本文我们就继续来学习一下,Java编程类加载器都有哪些种类。
1、引导类加载器(Bootstrap ClassLoader)
这个类加载器使用c/c++实现,嵌套与JVM内部
它用来加载Java的核心库(JAVA_HOME/jre/lib/rt.jar、resource.jar或者 sun.boot.class.path 路径下的内容),用于提供JVM自身需要的类
它并不继承与java.lang.ClassLoader,c语言编写,无父加载器
它用来加载拓展类加载器和系统类加载器(应用程序类加载器),并指定Bootstrap为他们的父加载器
出于安全考虑,Bootstrap ClassLoader只加载包名为java,javax,sun等开头的类
2、拓展类加载器(Extension ClassLoader)
java语言编写,为sun.misc.Launcher的一个内部类
派生于ClassLoader类
父加载器为引导类加载器
从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK安装目录的jre/lib/ext子目录下加载类库,如果用户创建的JAR放在此目录下,也会由拓展类加载器自动加载。
3、系统类加载器(应用程序类加载器 AppClassLoader)
java语言编写,为sun.misc.Launcher的内部类
派生于ClassLoader类
父类加载器为拓展类加载器
它负责加载环境遍历classpath或者是系统属性java.class.path指定路径下的类库
该类加载器是程序中默认的类加载器,一般来说,我们编写的Java应用的类都是由它来完成加载
通过ClassLoader#getSystemClassLoader()的方法,可以获取到该类加载器
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。