리플렉션 질문 드립니다!
373
작성한 질문수 5
리플렉션이 가능한 이유가 클래스를 로딩할때 Class 객체가 힙에 저장되기 때문이라고 알고있습니다.
(즉, 한번은 클래스 로딩이 되어야한다(?))
예를 들어 실행시 입력받은 클래스를 Class.forName(args[0])으로 런타임 동적로딩을 하려고 할 때
입력받은 클래스는 아직 로딩이 안된거 같은데..(한번도 로딩이 안되었다(?))
어떻게 가능한걸까요??
제가 잘못 이해하는 부분이 있을까요??
답변 1
0
제가 질문을 잘 이해한건지 모르겠는데요. Class.forName으로 입력받은 클래스를 어떻게 로딩하냐고 물어보시는것인가요? forName에 전달한 문자열에 클래스를 클래스로더가 클래스패스에서 찾아서 로딩해 줍니다. 그렇게 로딩을 하는 과정에서 말씀하신대로 Class 타입의 객체가 힙에 저장이 될테구요.
클래스 로더가 메소드 영역에 저장하는 것은 바이트코드인가요?
1
82
1
실제 개발 단계에서 이 같은 지식들을 적용할 기회가 있을까요?
0
102
1
코틀린 컴파일에 대해서
0
218
1
RuntimeException
0
340
1
Annotation processor에서 element type을 제한했는데도 다른 타입으로 컴파일이 됩니다...이상하게도..
0
398
1
gradle 사용하시는 분 도움
4
763
1
CGLib를 따라 해보면서 문제점이 있으며, 해결법입니다. JDK17입니다.
6
865
0
Spring Data JPA 동적 프록시를 사용 질문
0
418
1
어노테이션 프로세서 활용 예와 관련해 질문 있습니다.
0
503
1
"자바 언어가 플랫폼에 독립적이다" 라는 것에 대해 옳게 이해했는지 궁금합니다!
1
1132
1
'클래스 로더' 강의에서 클래스 로딩을 설명할 때 잘못된 것 같아 질문드립니다.
3
1256
2
metaspace 질문드립니다.
2
394
0
소스컴파일시점에 MagicMojaProcessor가 사용되면 안되는이유
0
422
0
다이나믹 프록시에서 리플렉션이 어떻게 사용되는거죠?
0
468
1
다이나믹 프록시의 단점
0
349
0
new 와 constructor.newInstance();의 차이
0
662
0
두번 실행해야하는 이유
0
470
0
제가 설명한게 맞는지 봐주실 수 있나요?(jvm설명)
0
444
0
JIT 컴파일러와 인터프리터
1
1011
1
Method.invoke()
0
425
1
site 폴더내에 jacoco 폴더가 생기지 않습니다.
0
985
1
메모리 영역의 구조 질문
0
446
1
GC 설명부분 질문드립니다.
0
484
1
jit 와 인터프리터 질문
1
391
1





