inflearn logo
강의

講義

知識共有

チャネルトークの面接官が直接教えるCS面接対策 - Java編

(深掘り質問) JITコンパイラは「頻繁に使用されるコード」をどのように判断しますか? ⭐️⭐️

호출횟수 질문입니다.

解決済みの質問

55

Cola

投稿した質問数 39

1

메서드 호출 횟수가 약2,000회 / 약15,000회로 적어주셨는데 이 횟수는 버전마다 크게 차이가 없는걸까요? 이렇게 약 2천 약 1만5천 이라고 확정지어 알고 있어도 되는건지 궁금합니다.

java 객체지향 computer-science

回答 2

1

jayon0927

안녕하세요, Cola님!

 

자료의 2,000 / 15,000은 HotSpot JVM의 Tiered Compilation 기본값으로, -XX:Tier3CompileThreshold, -XX:Tier4CompileThreshold 옵션에 해당합니다.

 

이 값은 Tiered Compilation이 기본 활성화된 Java 8 이후 최신 OpenJDK HotSpot까지 동일하게 유지되고 있습니다. OpenJDK 소스 트리의 테스트 코드(CheckCompileThresholdScaling.java)에서도 같은 값으로 검증되고 있습니다. 그래서 OpenJDK HotSpot 기준으로는 버전 차이를 신경 쓰지 않으셔도 됩니다.

 

직접 확인하시려면 다음 명령어를 수행해 보시면 됩니다.

java -XX:+PrintFlagsFinal -version | grep CompileThreshold

 

다른 JVM 벤더(OpenJ9, GraalVM 등)는 정책이 달라 수치가 다를 수 있지만, OpenJDK HotSpot 기준으로 약 2,000 / 약 15,000으로 외워두시면 충분합니다.

 

참고: https://devblogs.microsoft.com/java/how-tiered-compilation-works-in-openjdk/

1

Cola

답변 감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Cola님!

Java에서 메서드 호출 횟수 같은 성능 관련 수치는 버전에 따라, 그리고 실행 환경에 따라 조금씩 달라질 수 있습니다. 특히 JVM 버전이나 최적화 옵션, 런타임 환경 등의 차이에 의해 그 횟수가 달라질 수 있습니다.

하지만 일반적으로 언급된 호출 횟수(예: 약 2,000회, 약 15,000회)는 보편적으로 나타날 수 있는 값으로, 특정 버전이나 설정에서는 크게 변동이 없을 수 있습니다. 이 숫자들은 대개 일반적인 상황을 염두에 두고 말하는 것이니, 꼭 정확한 값이라기보다는 대략의 가이드로 이해하시면 됩니다. 그러므로 절대값보다는 패턴이나 경향성을 파악하는 데 중점을 두시는 것이 좋습니다.

관련 질문 보기에서 JSCODE 제이온님이 Java 프로그램 실행 과정에 대해 설명한 것이 예시로 도움이 될 수 있습니다. 이런 정보를 기존 지식과 함께 고려하면 좀 더 포괄적인 이해가 가능하십니다.

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

중급 1편 학습 방향에 대해 조언 부탁드립니다

0

11

1

To-Do App

0

10

0

강의노트 접속 불가

0

8

1

Kafka Cluster 구성도 질문

0

8

1

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

13

1

26년 1회차 기출 강의

0

32

2

기출문제

0

49

1

정보처리기사 실기 zip

0

41

2

답을언제쯤받아볼수있나요

0

47

2

데이터베이스 노션

0

36

2

형 책 어떻게 받아?

1

52

1

PPT 자료 공유 받을 수 있을까요?

0

29

1

본 강의와는 상관없는 내용입니다만..

0

35

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

30

2

수업노선자료파일 다운

0

34

2

5~9까지 램덤숫자출력

0

27

1

질문있습니다.

1

61

2

멀티스레드

1

58

2

성능 오버헤드

1

53

2

volatile에 대해 질문 있습니다.

2

85

2

Mark and Sweep

1

58

1

GC 알고리즘

1

59

2

용어 질문

1

39

1

실행과정 질문입니다.

2

56

1