JVM관련해서 질문이 있습니다.
안녕하세요 선생님.
제가 이해 했는 부분이 정확한지 여쭤보고 싶어 질문드립니다.
1. 로딩을 하는 과정에서 '클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 “메소드” 영역에 저장'이 되는게 맞을까요 ? 로딩이 끝나면 해당 클래스 타입의 클래스 객체를 생성해서 힙영역에 저장 되는거구요.
2. Resolve는 .class 파일에서 필요한 자바 API의 이름만 지칭한것을 메모리상에서 실제로 존재하는 물리적인 주소로 대체되는 작업이라고 보면 될까요?
3. 로딩 > 링크 > 초기화 순이면 로딩과정에서 먼저 메소드영역에 데이터를 저장 한다음 링크에서 .class 파일을 검증(Verify)를 하는건가요 ?
4. '클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 “메소드” 영역에 저장.' 이때 바이너리 데이터를 만들때는 인터프리터를 이용하는걸까요?
답변 1
1
네 모두 잘 이해하신것 같습니다. 좀 더 자세히 알고 싶으시면 아래 문서를 참고하시면 좋을것 같습니다.
클래스 로더가 메소드 영역에 저장하는 것은 바이트코드인가요?
1
84
1
실제 개발 단계에서 이 같은 지식들을 적용할 기회가 있을까요?
0
105
1
코틀린 컴파일에 대해서
0
219
1
RuntimeException
0
342
1
Annotation processor에서 element type을 제한했는데도 다른 타입으로 컴파일이 됩니다...이상하게도..
0
401
1
gradle 사용하시는 분 도움
4
765
1
CGLib를 따라 해보면서 문제점이 있으며, 해결법입니다. JDK17입니다.
6
866
0
Spring Data JPA 동적 프록시를 사용 질문
0
421
1
어노테이션 프로세서 활용 예와 관련해 질문 있습니다.
0
504
1
"자바 언어가 플랫폼에 독립적이다" 라는 것에 대해 옳게 이해했는지 궁금합니다!
1
1135
1
'클래스 로더' 강의에서 클래스 로딩을 설명할 때 잘못된 것 같아 질문드립니다.
3
1260
2
metaspace 질문드립니다.
2
395
0
소스컴파일시점에 MagicMojaProcessor가 사용되면 안되는이유
0
425
0
다이나믹 프록시에서 리플렉션이 어떻게 사용되는거죠?
0
469
1
다이나믹 프록시의 단점
0
351
0
new 와 constructor.newInstance();의 차이
0
664
0
두번 실행해야하는 이유
0
473
0
제가 설명한게 맞는지 봐주실 수 있나요?(jvm설명)
0
446
0
JIT 컴파일러와 인터프리터
1
1013
1
Method.invoke()
0
429
1
site 폴더내에 jacoco 폴더가 생기지 않습니다.
0
988
1
메모리 영역의 구조 질문
0
451
1
GC 설명부분 질문드립니다.
0
492
1
jit 와 인터프리터 질문
1
395
1





