강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của anthologia
anthologia

câu hỏi đã được viết

Thêm Java, nhiều cách thao tác mã khác nhau

Cấu trúc JVM

JIT 컴파일러와 인터프리터

Viết

·

1K

1

안녕하세요, 백기선님.

기존에 저는 JVM 내에서 JIT이 컴파일러와 인터프리터의 역할을 동시에 수행한다고 이해하고 있었는데요.

자료(p.4)에서는 [실행엔진 : 인터프리터, JIT Compiler, GC ] 로 구성되어 있어서 질문드립니다.

  1. 인터프리터와 JIT 컴파일러는 서로 분리되어 역할을 수행하는 것이 맞고,

  2. 바이트 코드를 실행할 때, JIT 컴파일러가 전체를 싹 훑고, 반복되는 코드에 대해 메모리에 캐싱을 진행한 후, 인터프리터가 처음부터 순차적으로 읽어 나가다가, 반복되는 해당 지점에서 JIT Compiler가 다시 개입하여 캐싱된 코드를 꺼내오는 형태일까요? 이 부분이 조금 헷갈리기도 하고, 궁금하기도 합니다.

혹은 어떤 문서를 보면 공부해볼 수 있을까요?

(한국어 블로그에는 대부분 인터프리터와 JIT이 같다고 적어둔 경향이 많은 것 같고, 기선님께서 참고에 올려주신 글이나 해외 블로그에서는 둘을 분리해서 말하는 경향이 있는 것 같아서 더 헷갈리는 것 같습니다.)

감사합니다!

* 아래 질문과 비슷한 내용이지만, 답변 달아주신 링크에 접속이 안되서 부득이하게 다시 질문 드립니다ㅠ

https://www.inflearn.com/questions/99765

springjavaJPA

Câu trả lời 1

4

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

https://docs.oracle.com/javacomponents/jrockit-hotspot/migration-guide/comp-opt.htm#JRHMG117

Unlike Oracle JRockit, HotSpot features a Java byte code interpreter in addition to two different JIT compilers - client (aka C1) and server (aka C2)).

그 둘이 같은거라면.. 오라클 공식 문서에 이렇게 적었을리가 없겠죠.

 

anthologia님의 프로필 이미지
anthologia
Người đặt câu hỏi

감사합니다!

Hình ảnh hồ sơ của anthologia
anthologia

câu hỏi đã được viết

Đặt câu hỏi