inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편

Java 실행 과정을 설명해주세요.

실행과정 질문입니다.

해결된 질문

10

Cola

작성한 질문수 31

1

첫째와 둘째에서

프로그램 실행은 .java 파일이 컴파일러에 의해 .class로 변환 된 후에 되어야 하는게 아닌가요?

 

첫째에서 프로그램이 실행되면~~

둘째에서 컴파일러 변환~~

이라고 나와서 컴파일보다 프로그램 실행이 먼저라는 느낌이 드네요.

java 객체지향 computer-science

답변 1

1

JSCODE 제이온

안녕하세요, Cola님!

 

좋은 질문이에요.

말씀하신 대로 시간 순서로 보면 컴파일이 먼저 일어나는 게 맞습니다. .java.class로 변환되어 있어야 JVM이 그걸 로딩해서 실행할 수 있으니까요. IntelliJ에서 Run 버튼을 누르면 IDE가 빌드 단계에서 컴파일을 먼저 처리하고, 그 다음에 JVM이 뜨는 흐름입니다.

 

자료의 첫째~다섯째는 시간순을 엄격하게 따라가는 나열이라기보다는, Java 실행을 구성하는 단계들을 묶어 정리한 구조로 봐주시면 됩니다.

 

첫째의 "프로그램이 실행되면"은 JVM이 기동되는 시점을 가리키고, 둘째 컴파일 부분은 JVM이 로딩할 .class가 어떻게 준비되는지를 같이 짚어주는 흐름이라고 보시면 됩니다.

 

시간 순으로 정리하면 이렇습니다.

  • .java.class 컴파일

  • java 명령으로 JVM 시작, OS로부터 메모리 할당

  • 클래스 로더가 .class 로딩

  • 실행 엔진이 바이트코드 실행

  • 실행 중 GC가 메모리 관리

 

꼼꼼히 봐주셔서 감사합니다!! 😊

1

Cola

답변 감사합니다.

호출횟수 질문입니다.

0

5

1

코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의

0

12

1

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

11

2

중복내용 제보?!

1

16

2

태어난김에 세계일주 시간 초과

0

13

1

커리큘럼 중 정렬 관련 질문

0

14

1

코테 사이트 로그인 불가

0

22

1

여러 파드 환경에서 단일 실행 보장 방식

0

23

2

XAMPP에서 Apache, DB 재기동 시 접속안되는 문제

0

16

1

UserDataManager 클래스 hasSaveError 처리

0

22

2

제공해주신 자료에 스크립트들이 빠져있습니다

0

22

2

실습 권한이 없네요··· 이건 ··· 좀··· 401 에러떠요

0

28

3

inheritance startegy 선택시 고려사항

0

18

1

[할인쿠폰] 코테의 바이블[JAVA] 50% 할인 쿠폰 관련

0

23

1

Entity 동등성 비교

0

17

1

싱글턴패턴

0

29

2

패키지 구분에 대해 궁금한게 있습니다

0

25

2

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

28

1

Singleton 관련 질문입니다.

1

45

2

갑자기 채점 사이트가 바뀌었어요

0

32

1

코드 자료

0

50

2

문제 리스트 페이지

0

28

1

part8 Notion 링크

0

30

1

채점 사이트 관련 질문드립니다

0

23

1