>  Q&A  >  본문

关于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일 전350

모든 응답(2)나는 대답할 것이다

  • 高洛峰

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

    String의 클래스 로더는 부트스트랩 클래스 로더입니다. 이러한 방식으로 클래스를 로딩하면 null로 표시됩니다

    회신하다
    0
  • 怪我咯

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

    문자열은 부트스트랩 클래스 로더에 의해 로드되는 반면 引导类加载器은 네이티브 C++ 코드로 구현되며 java.lang.ClassLoader에서 상속되지 않습니다.

    회신하다
    0
  • 취소회신하다