Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 ClassLoader는 어떻게 작동합니까?

<시간/>

Java 클래스는 바이트 코드 형식으로 저장됩니다. .class 파일에서 컴파일 후. 클래스로더 자바 프로그램의 클래스를 메모리로 로드 필요할 때. ClassLoader는 계층적이므로 클래스 로드 요청이 있으면 상위 클래스 로더에 위임됩니다. .

ClassLoader 유형 Java에서는 다음과 같이 제공됩니다.

  • 부트스트랩 클래스 로더
  • 확장 클래스 로더
  • 시스템 클래스 로더

예시

public class ClassLoaderTest {
   public static void main(String[] args) {
      System.out.println("class loader for this class: " + ClassLoaderTest.class.getClassLoader());
      System.out.println("class loader for DNSNameService: " + sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader());
      System.out.println("class loader for HashMap: " + java.util.HashMap.class.getClassLoader());
   }
}

출력

class loader for this class: sun.misc.Launcher$AppClassLoader@73d16e93
class loader for DNSNameService: sun.misc.Launcher$ExtClassLoader@70dea4e
class loader for HashMap: null