首頁  >  問答  >  主體

关于java的类加载器

public class Main {
    public static void main(String[] args) {
        System.out.println(String.class.getClassLoader());
        System.out.println(Main.class.getClassLoader());
    }
}

分别输出null和AppClassLoader,为什么String是null?自己写的类即classpath下的是通过AppClassLoader加载,jdk里的类是通过哪个加载器加载的?

PHP中文网PHP中文网2741 天前340

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-18 10:22:06

    String的類別載入器是bootstrap class loader,這種方式的類別載入會被顯示成null

    回覆
    0
  • 怪我咯

    怪我咯2017-04-18 10:22:06

    String 是由引導類別載入器(bootstrap class loader)來載入的, 而引导类加载器 是用原生C++程式碼來實現的, 並不繼承自java.lang.ClassLoader. 我們在程式中是取得不到這個類別載入器的.

    回覆
    0
  • 取消回覆