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의 클래스 로더는 부트스트랩 클래스 로더입니다. 이러한 방식으로 클래스를 로딩하면 null로 표시됩니다
문자열은 부트스트랩 클래스 로더에 의해 로드되는 반면
引导类加载器
은 네이티브 C++ 코드로 구현되며 java.lang.ClassLoader에서 상속되지 않습니다.