读书人

类加载器加载种的过程

发布时间: 2012-10-26 10:30:59 作者: rapoo

类加载器加载类的过程

(.class文件加载的过程)由(加载)和(定义)两步完成
(加载)是loadClass()方法
(定义)是defineClass()方法

其中loadClass()中会调用defineClass()方法

每一个类加载器都有自己的控制区间(classpath)

过程:
(系统 类加载器)会最先loadClass()某一个.class文件,
然后在自己的loadClass()方法里调用父类加载器的loadClass()
求证.class文件是不是在父类加载器(扩展 类加载器)的控制范围之内
但(扩展 类加载器)没有求证就调用父类加载器的loadClass()
求证.class文件是不是在父类加载器(引导 类加载器)的控制范围之内
如果是则(引导 类加载器)调用defineClass()给出这个.class文件的Class类实力
如果不是则再问子类加载器(扩展 类加载器)是不是在其控制区域内
如果是则(扩展 类加载器)调用defineClass()给出这个.class文件的Class类实力
如果不是则再问子类加载器(系统 类加载器)是不是在其控制区域内
如果是则(系统 类加载器)调用defineClass()给出这个.class文件的Class类实力

所有被(定义)出来的Class类的实例会被缓存一段时间。

读书人网 >编程

热点推荐