inflearn logo
강의

講義

知識共有

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

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

호출횟수 질문입니다.

解決済みの質問

73

Cola

投稿した質問数 42

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 프로그램 실행 과정에 대해 설명한 것이 예시로 도움이 될 수 있습니다. 이런 정보를 기존 지식과 함께 고려하면 좀 더 포괄적인 이해가 가능하십니다.

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

조건 반복문 질문: for 문 ?

0

6

0

run() 메서드 안에 지역변수 sum을 사용한 이유

0

9

0

7강 보고 있는데요.. 글자가 너무 작아요

0

8

0

무한 depth 구현 중 CommentPath 관련 질문

0

17

1

헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.

0

31

2

정처기 26-2회. 9번 질문드립니다!

0

40

1

이론 보면서 질문이 있습니다.

0

45

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

53

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

73

2

262 정처기 실기 C언어코딩

0

30

1

정보처리기사 262 실기 Hash(해시) 질문

0

61

2

static 변수 질문입니다.

0

46

2

Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?

0

56

2

파이썬 4강 질문입니다.

0

52

2

강의 화면이 안나와요

0

33

0

모의고사 1회 3번문제

0

75

3

질문있습니다.

1

78

2

멀티스레드

1

72

2

성능 오버헤드

1

74

2

volatile에 대해 질문 있습니다.

2

104

2

Mark and Sweep

1

74

1

GC 알고리즘

1

75

2

용어 질문

1

50

1

실행과정 질문입니다.

2

70

1