여기서 초기화는 클래스 로딩(<clinit> 호출)의 마지막 단계로 이해될 수 있습니다. 두 개의 서로 다른 ClassLoad가 로드되면 <clinit>이 두 번 실행되고 로드된 Class 개체가 메서드에 포함됩니다. 영역(영구 생성)이며 두 개의 Class 개체에 해당합니다.
메소드 코드가 오버로드된 경우 최종 결과는 2개 findClass가 되어야 합니다. 위 코드는 true 파일이 최종적으로 class 아래에 있으므로 AppLoader에 넘겨져 로드됩니다. 효과를 표시하려면 classpath 파일을 class 이외의 위치로 이동해야 합니다. 원본 포스터에 classpath 메서드 loadClass가 오버로드되었습니다.
간단히 말하면
으아아아자세한 내용은 검색엔진에서 "부모 위임 모델"로 검색해 보세요.
주제를 벗어나면 이 코드는 매우 깔끔하고 편한 것 같아요
여기서 초기화는 클래스 로딩(
<clinit>
호출)의 마지막 단계로 이해될 수 있습니다. 두 개의 서로 다른 ClassLoad가 로드되면<clinit>
이 두 번 실행되고 로드된Class
개체가 메서드에 포함됩니다. 영역(영구 생성)이며 두 개의Class
개체에 해당합니다.메소드 코드가 오버로드된 경우 최종 결과는 2개
findClass
가 되어야 합니다. 위 코드는true
파일이 최종적으로class
아래에 있으므로 AppLoader에 넘겨져 로드됩니다. 효과를 표시하려면classpath
파일을class
이외의 위치로 이동해야 합니다. 원본 포스터에classpath
메서드loadClass
가 오버로드되었습니다.