모던 백엔드 - 문법 & 성능 개선(2)

모던 백엔드 - 문법 & 성능 개선(2)

[Modern Backend] 강좌의 Part 1 여덟 번째 시간의 두 번째 강의, "문법 & 성능 개선 (2)" 이론 및 원리 편입니다.

이번 강의에서는 Java 25의 유연한 생성자 본문(Flexible Constructor Bodies)이 동작하는 엄격한 규칙과 초기화 순서, 그리고 컴팩트 객체 헤더(Compact Object Headers) 설정 및 Java 25 성능 최적화의 다각적 접근 방식을 다룹니다.

📌 주요 학습 내용:

  • 생성자 첫 문장 제약(super/this)의 한계와 유연한 생성자(Flexible Constructor)의 등장

  • 프롤로그(Prologue) 영역의 역할: 부모 생성자 호출 전 파라미터 유효성 검증 및 사전 가공 로직 응집

  • 프롤로그 영역의 엄격한 스펙 규칙:

  • 허용: 파라미터 유효성 검증/예외 발생, 로컬 변수 연산, 자신의 인스턴스 필드 초기값 대입

  • 금지: 인스턴스 필드 읽기, 인스턴스 메서드 호출, this 참조 외부 유출, 비정적 내부 클래스 생성

  • 상속 구조에서의 초기화 순서 함정(상위 생성자 내 오버라이딩 메서드 호출)과 프롤로그 필드 초기화의 동작 차이

  • 컴팩트 객체 헤더(Compact Object Headers, JEP 519) 활성화 플래그-XX:+UseCompactObjectHeaders) 및 실제 적용 여부 검증 커맨드

  • Java 25 성능 개선의 경계와 분류:

  • 시간 축(기동 시간/웜업 단축 - AOT 캐시, 추후 Part 3 GraalVM에서 연계)

  • 메모리 축(힙 메모리 점유율 절감, GC 빈도/STW 감소, 장기적 처리량 향상)

  • 백엔드 엔지니어 관점의 성능 병목 진단(기동 시간 vs 힙 메모리/GC 부하) 기준 정립

언어 문법의 유연성과 JVM 레벨의 메모리 튜닝 원리를 깊이 있게 이해해 보세요.

Site footer