首页 > 技术文章 > jvm classLoader architecture :

Berryxiong 2016-12-07 22:34 原文

          jvm classLoader architecture :      

          a、Bootstrap ClassLoader/启动类加载器 主要负责jdk_home/lib目录下的核心         api 或 -Xbootclasspath 选项指定的jar包装入工作.      

          B、Extension ClassLoader/扩展类加载器 主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作      

          C、System ClassLoader/系统类加载器 主要负责java -classpath/-Djava.class.path所指的目录下的类与jar包装入工作.      

          B、 User Custom ClassLoader/用户自定义类加载器(java.lang.ClassLoader的子类) 在程序运行期间,         通过java.lang.ClassLoader的子类动态加载class文件, 体现java动态实时类装入特性.      

 

bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。 
extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包。
system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性 或者 CLASSPATH*作系统属性所指定的JAR类包和类路径。

推荐阅读