CH16-1 · DECISION

클래스 로딩, 바이트코드와 JIT의 선택 기준을 나란히 비교한다

비교 항목: 로딩은 클래스 바이트를 Class 객체로 만든다 / 초기화가 static 초기화 코드를 실행한다 / JIT는 관찰한 실행 경로를 최적화한다

클래스 로딩, 바이트코드와 JIT 판단표
확인 질문판단 근거코드에서 드러낼 것
로딩은 클래스 바이트를 Class 객체로 만든다부트스트랩, 플랫폼, 애플리케이션 로더가 위임 관계로 클래스를 찾습니다.타입과 시작값
초기화가 static 초기화 코드를 실행한다클래스의 첫 적극적 사용에서 정적 필드 초기화와 static 블록이 소스 순서로 실행됩니다.실패 또는 변경 경계
JIT는 관찰한 실행 경로를 최적화한다호출 빈도와 타입 프로필을 바탕으로 인라이닝과 특수화를 수행하고 가정이 깨지면 최적화를 되돌릴 수 있습니다.선택한 규칙의 결과

선택 기준 호출 빈도와 타입 프로필을 바탕으로 인라이닝과 특수화를 수행하고 가정이 깨지면 최적화를 되돌릴 수 있습니다.