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里的类是通过哪个加载器加载的?
String的類別載入器是bootstrap class loader,這種方式的類別載入會被顯示成null
String 是由引導類別載入器(bootstrap class loader)來載入的, 而
引导类加载器
是用原生C++程式碼來實現的, 並不繼承自java.lang.ClassLoader. 我們在程式中是取得不到這個類別載入器的.