几种类加载器的体会使用

package jvm;

public class classloader {


    public static void main(String[] args) {

        //获取系统类加载器
        ClassLoader appClassloader = ClassLoader.getSystemClassLoader();
        System.out.println(appClassloader);  //sun.misc.Launcher$AppClassLoader@18b4aac2

        //获取其上层:扩展类加载器
        ClassLoader extClassloader = appClassloader.getParent();
        System.out.println(extClassloader);  //sun.misc.Launcher$ExtClassLoader@1b6d3586

        //获取其上层:获取不到引导类加载器
        ClassLoader bootstrapClassloader = extClassloader.getParent();
        System.out.println(bootstrapClassloader); // null

        //对于用户自定义类来说:默认使用系统类加载器加载
        ClassLoader myClassloader = classloader.class.getClassLoader();
        System.out.println(myClassloader);  //sun.misc.Launcher$AppClassLoader@18b4aac2

        //String类使用引导类加载器加载(系统的核心类库都是核心类加载器加载)
        ClassLoader stringClassloader = String.class.getClassLoader();
        System.out.println(stringClassloader); // null
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章