淘先锋技术网

首页 1 2 3 4 5 6 7

 JVM启动时,会有三个初始加载器:

        bootstrap classloader

        |

        extension classloader

        |

        system classloader

       

        bootstrap classloader:

        引导类加载器,它负责加载java core类,即JAVA_HOME/jre/lib/* 下的所有类。它是一个比较特殊的类加载器,不是java.lang.ClassLoader的子类,而是由JVM自身来实现的

 

        extension classloader:

        扩展类加载器,它负责加载jre的扩展目录,即JAVA_HOME/jre/lib/ext/*下的或者由java.ext.dirs系统属性指定的目录下的所有JAR包下的类。

 

        system classloader:

        系统类加载器(应用类加载器),它负责在JVM启动的时,加载来自在命令JAVA中-classpath 或者java.class.path系统属性或者CLASSPATH操作系统属性所指定的JAR类包和类路径。

        可以通过静态方法

  ClassLoader.getSystemClassLoader()

        找到该类加载器。如果没有特别指定,则用户自定义的任何类加载器都将该类加载器作为它的父加载器。执行下列代码即可获得用户在系统属性里面设置的CLASSPATH:

 

   System.getProperty("java.class.path")