inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[CS 기술면접 6] 말이 트이는 자바와 객체지향

JVM — 자바 가상머신의 구조와 실행 메커니즘

JVM - 자바 가상머신의 구조와 실행 매커니즘 2. 자바개요 부분에서 질문 있습니다.

72

김태우

작성한 질문수 21

1

"JVM 설명 부분에서 자바 코드를 바이트 코드로 변환하여 실행하는 역할"이라고 설명 하셨는데,
그건 자바 컴파일러가 하는 역할 아닌가요 ?

바이트 코드를 기계어로 바꿔주는 것이 JVM이라고 알고 있는데, 헷갈려서 질문 남깁니다.

java 객체지향 기술면접

답변 2

0

이용준

안녕하세요, 김태우님!
질문 주신 내용이 정확합니다.

강의 슬라이드 오른쪽의 JVM 구성도 그림을 보시면 자바 컴파일러가 .class 파일을 만드는 과정이 명확히 구분되어 있는데, 좌측의 요약 텍스트를 정리하는 과정에서 표현이 다소 혼용되었네요.

지적해주신 대로 자바 코드를 바이트 코드로 변환하는 것은 '자바 컴파일러'의 역할이며, JVM은 이 바이트 코드를 기계어로 해석하여 실행하는 역할을 수행합니다.

혼란을 드려 죄송하며, 해당 텍스트 설명 부분은 빠른 시일 내에 수정하도록 하겠습니다.
발견해주셔서 감사드립니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 김태우님.

김태우님이 질문하신 내용은 자바의 중요한 컴포넌트에 대한 것으로, 자바의 코드 실행 과정에서 발생할 수 있는 기혼란을 다룬 질문입니다.

자바 컴파일러와 JVM의 역할 차이:

  1. 자바 컴파일러 (javac):

    • 자바 소스 코드(.java 파일)를 컴파일하여 바이트 코드(.class 파일)로 변환합니다.
    • 이 바이트 코드는 플랫폼 독립적인 중간 코드로, 여러 운영 체제에서 실행할 수 있습니다.
  2. JVM (Java Virtual Machine):

    • 바이트 코드를 기계어로 변환하여 실제 실행하도록 돕는 역할을 합니다.
    • 이 과정에서 JVM은 특정 플랫폼에 맞는 최적화를 수행하여, 자바 프로그램이 다양한 플랫폼에서 동일하게 실행될 수 있도록 보장합니다.
    • JVM 내의 Just-In-Time 컴파일러(JIT)는 실행 중인 바이트 코드를 즉석에서 기계어로 변환하여 실행 성능을 향상시킵니다.

결론적으로, 자바 컴파일러는 자바 코드를 바이트 코드로 변환하고, JVM은 이 바이트 코드를 각 플랫폼에 맞게 기계어로 변환하여 실행합니다.

보다 자세한 설명이나 관련 정보에 대해서는, 아래의 구체적인 답변 링크를 참고하시길 권장드립니다:
- JVM, JDK, JRE의 차이
- 자바 프로그램의 실행 과정

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

네트워크 전체 흐름 복습 질문

0

9

1

프로필 사진 세팅과 관련하여 질문 드립니다

1

20

2

질문있습니다

0

16

1

1번 문제 질문입니다.

0

20

1

26년 1회 실기 해설 강의

0

31

2

음악플레이어 문제 중 코드질문

0

16

1

잠겨버린 사물함 시간초과 관련 질문입니다.

0

16

1

도메인 모델에서 관계와 규칙을 구분하는 방법

0

26

2

프로젝트 질문 문의

0

32

1

문제와 풀이4 문제점

0

30

2

시스템 엔지니어 관련 질문입니다.

0

36

2

DDD 는 마이바티스와 잘 맞지 않는건가요?

0

38

1

스프링부트 버전 문의드립니다.

0

28

1

53번 4-1 자료 오류 있는 것 같습니다.

0

60

2

최근 코테, 과제 테스트 트렌드

0

46

2

7번문제

0

48

2

C언어 변형문제 9번문제 Pdf 수정요청

0

37

2

메서드 오버드라드

0

40

2

실수

0

41

1

Json 요청 처리

1

26

2

공부 우선순위 우선강의 알려주세요

0

74

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

41

2

기본형과 참조형 타입의 차이 - 설명 질문

1

101

3

강의 잘 들었습니다. 혹시 다음 내용 추가하실 생각 있으실까요?

0

94

1