rt

解决方案 »

  1.   

    JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
      

  2.   

    在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析
        装载:查找和导入类或接口的二进制数据; 
        链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 
        校验:检查导入类或接口的二进制数据的正确性; 
             准备:给类的静态变量分配并初始化存储空间; 
             解析:将符号引用转成直接引用;
    初始化:激活类的静态变量,初始化Java代码和静态Java代码块 
      

  3.   

    推荐LZ看一下王森先生的<JAVA2深度历险>的CH_02:深入类别载入器这一章节,很详细
    JVM要将一般的类要载入时,都是调用AppClassLoader来子爱如的
    当AppClassLoadery要载入时,会现请求其Parent即ExtClassLoader来载入
    而ExtClassLoader又请求其Parent,即BootstrapLoader来载入如果BootstrapLoade在其搜索路径下找不到,返回ExtClassLoader来载入
    如果ExtClassLoader在其搜索路径下找不到,返回AppClassLoader
    来载入
    如果AppClassLoader再起搜索路径下找不到,将抛出ClassNotFound异常
    大概就这样