> Java > java지도 시간 > Java 클래스 로더를 사용하는 방법은 무엇입니까?

Java 클래스 로더를 사용하는 방법은 무엇입니까?

王林
풀어 주다: 2023-04-18 17:49:03
앞으로
1120명이 탐색했습니다.

1.loadClass, 클래스 로딩 요청이 오면 먼저 캐시에서 클래스 객체를 찾습니다.

있는 경우 직접 반환됩니다. 그렇지 않은 경우 이러한 유형의 로딩의 상위 로더에 전달됩니다. 로드할 상위 항목이 없으면 최상위 부트 로더에 의해 로드됩니다. 여전히 찾을 수 없으면 findClass()를 사용하여 로드하세요.

2. FindClass

클래스 바이트코드를 이름이나 위치별로 로드한 다음 필요하면 DefineClass를 사용하세요. ClassLoader를 사용자 정의하려면 이 메소드를 다시 작성해야 합니다.

3.defineClass

defineClass() 메소드는 바이트 스트림을 JVM에서 인식할 수 있는 Class 객체로 구문 분석하는 것입니다(이 메소드의 논리는 ClassLoader에서 구현되었습니다). 클래스 파일을 통해 객체를 생성하는 경우, 클래스 객체는 다른 메소드를 통해서도 인스턴스화할 수 있습니다. 예를 들어 네트워크를 통해 바이트코드 클래스를 수신한 다음 이를 바이트 스트림으로 변환하여 해당 Class 객체를 생성하는 경우가 일반적입니다. DefineClass() 메소드는 일반적으로 함께 사용됩니다. 일반적으로 클래스 로더를 커스터마이징할 때 클래스 로더의 findClass() 메서드를 직접 재정의하고 로드할 클래스의 바이트코드를 얻은 후 이를 스트림으로 변환합니다. 그런 다음 DefineClass() 메소드를 호출하여 클래스의 Class 객체를 생성합니다. 간단히 말하면 클래스 파일을 Class 객체로 변환하는 것입니다.

4.resolveClassClass 객체를 사용하여 생성한 후 동시에 해결도 가능합니다.

앞서 링크 단계에서는 주로 바이트코드 검증, 메모리 할당, 클래스 변수 설정, 바이트코드 파일의 심볼 참조를 직접 참조로 변환한다고 말씀드렸습니다.

Java의 기본 데이터 유형은 무엇입니까?

Java의 기본 데이터 유형은 다음과 같이 구분됩니다.

1 정수 유형은 정수의 데이터 유형을 나타내는 데 사용됩니다.

2. 부동 소수점 유형, 소수를 나타내는 데 사용되는 데이터 유형입니다.

3. 문자 유형의 키워드는 "char"입니다.

4. 불리언형은 논리값을 표현하는 기본 데이터형입니다.

위 내용은 Java 클래스 로더를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿