幾種類加載器的體會使用

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
    }

}

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