您好,欢迎访问一九零五行业门户网

Java的类装载器和命名空间

摘要
java的类装载器是java动态性的核心,本文将向大家简要介绍java的类装载器,及相关的parent delegation模型,命名空间,运行时包等概念,同时讨论一些在学习中轻易混淆的问题。
类装载器的功能及分类
    顾名思义,类装载器是用来把类(class)装载进jvm的。jvm规范定义了两种类型的类装载器:启动类装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 
   bootstrap是jvm自带的类装载器,用来装载核心类库,如java.lang.*等。如java.lang.object是由bootstrap装载的。 
   java提供了抽象类classloader,所有用户自定义类装载器都实例化自classloader的子类。 system class loader是一个非凡的用户自定义类装载器,由jvm的实现者提供,在编程者不非凡指定装载器的情况下默认装载用户类。系统类装载器可以通过classloader.getsystemclassloader() 方法得到。
例1,测试你所使用的jvm的classloader
/*loadersample1.java*/
public class loadersample1 {
    public static void main(string[] args) {
        class c;
        classloader cl;        cl = classloader.getsystemclassloader();
        system.out.println(cl);        while (cl != null) {
            cl = cl.getparent();
            system.out.println(cl);
        }
        try {
            c = class.forname(java.lang.object);
            cl = c.getclassloader();
            system.out.println(java.lang.object's loader is  + cl);
            c = class.forname(loadersample1);
            cl = c.getclassloader();
            system.out.println(loadersample1's loader is  + cl);
        } catch (exception e) {
            e.printstacktrace();
        }
    }
}
 以上就是java的类装载器和命名空间的内容。
其它类似信息

推荐信息