java 类加载器

  一开始学java的时候,类加载器看了点但是稀里糊涂的,之后在项目中几乎没使用到类加载器。还是在看开源项目的源码的时候

总是会看到ClassLoader的身影。

  java中如果要使用某个类,则需要先把这个类加载到内存中方可使用,也就是使用ClassLoader把字节码加载到内存中

  java默认有三类加载器:

  1、系统类加载器(sun.misc.Launcher$AppClassLoader):

    这类加载器负责加载系统属性(java.class.path)下的路径

      system.getProperty("java.class.path");

      D:\workspace-sts\hadoop\target\classes;C:\Users\ibm\.m2\repository\org\apache\hadoop\hadoop-client\2.6.0\hadoop-client-2.6.0.jar...

    它有一个父类加载器,这种父类不是通过继承关系,而是引用的关系。它就是扩展类加载器

 

  2、扩展类加载器(sun.misc.Launcher$ExtClassLoader):

  3、启动类加载器(BootStrapClassLoader):

    这部分使用C写的,随着jvm的启动而启动

 

posted on 2016-02-03 11:54  石头hah  阅读(119)  评论(0编辑  收藏  举报

导航