【转】java 反射 classloader

来源:互联网 发布:粤语发音翻译软件 编辑:程序博客网 时间:2024/05/23 15:35

1.bootstrap class loader(管理classloader,最核心,一般调用不到)

     implemented by native lanuage(由C语言或者汇编语言写成)

     load core classes of jdk(加载核心的类)

2.extension class loader(扩展的类)

     load the class form jre/lib/ext

3.application class loader(自己写的类)

     load user_define classes

     ClassLoader.getSystemClassLoader()(也可以通过此方式load)

4.other class loader

     SecureClassLoader

     URLClassLoader

 

 ===========================

 

public class TestClassLoader2 {

 

    public static void main(String[] args) {

       // String是核心类,核心类返回的都是null

       System.out.println(String.class.getClassLoader());

       // 扩展类,从jre/lib/ext中随便找一个,有的是禁止访问的

       System.out.println(com.google.gson.GsonBuilder.class.getClassLoader().getClass().getName());

       // 自己写的类

       System.out.println(TestClassLoader2.class.getClassLoader().getClass()

              .getName());

       // 第二种获得自己写的类的方法

       System.out.println(ClassLoader.getSystemClassLoader().getClass()

              .getName());

 

    }

 

}

===========