에 의해 배열을 대체 할 수 있습니다. 문제는 콘솔에 [[Ljava.lang.Object
이 표시 될 것으로 예상한다는 것입니다.클래스 로더는 아무것도
사실상, JVM specification에, 나는 다음을 읽을 수 있습니다 :
배열 클래스가 자바 가상 머신 (§5.3.3)에 의해 직접 작성됩니다아닌 클래스 로더에 의해. 그러나 D의 정의 클래스 로더가
Object[][]
이후
가 배열 클래스 배열 클래스 C를 만드는 과정에서 사용되는, 내 findClass
이 인수 [[Ljava.lang.Object
에 있지만 요소 호출되지 않을 것으로 가정 java.lang.Object
을 입력하십시오.
또한, 섹션 "어레이 클래스 만들기", 재귀 알고리즘은 실제로 설명되어
컴포넌트 타입이 사용 재귀인가 참조 형식이 부분 (§5.3)의 알고리즘이면
C.
의 구성 요소 유형을로드하여 만들기 위해 클래스 로더 L 그래서 제 질문은 다음과 같습니다- 이유는이 OUTP 무엇입니까 유? JVM이 나를 위해 그것을하는 대신 내 ClassLoader 안에이 재귀 알고리즘을 수동으로 포함시켜야한다는 뜻인가요? 이것이 이것이 의미하는 바라면, 그것을하는 가장 좋은 방법은 무엇입니까?
- 첫 번째 인용문에서 "만든"단어를 잘못 해석합니까? 그것은 런타임 배열 클래스를 만들 수 없다는 의미 일 뿐이지 만 여전히로드를 패치 할 수 있습니까?
OP의 요점은 스펙이 어레이 클래스의 경우 JVM이 클래스 로더 사용을 피하고 클래스를 직접로드한다는 것을 나타내는 것입니다. 그리고 이것은 매우 좋은 질문입니다. –
예, 배열의 요소 유형을로드하기 위해 패치를 테스트했습니다. 하지만 대신 전체 배열을 대체합니다. – Codoscope