자바 성능 튜닝, 소문과 감에 의존하지 말고 과학적으로 접근하라!
구체적인 사례와 코드로 배우는 클라우드 네이티브 자바 실전 가이드
성능 튜닝은 실험 과학입니다. 막연한 추측이나 검증되지 않은 정보에 의존해서는 안 됩니다. 이 책은 중급 이상의 자바 개발자를 위해 복잡한 기술 스택 환경에서 자바 클라우드 애플리케이션의 성능을 정량적이고 검증 가능하며 반복할 수 있는 방식으로 튜닝하는 방법을 소개합니다.
2판에서는 특히 클라우드 환경에서 자바 애플리케이션의 성능을 최적화하는 데 중점을 둡니다. 대부분의 자바 성능 자료가 JVM 이론이나 내부 구조 설명에 머무는 데 반해, 이 책은 레시피, 팁과 트릭, 알고리즘 등 실용적인 성능 튜닝 방안을 깊이 있게 다룹니다.
주요 내용
대상 독자
CHAPTER 1 최적화와 성능 정의
_1.1 잘못된 자바 성능 최적화 방법
_1.2 자바 성능 개요
_1.3 실증 과학으로서의 성능
_1.4 성능을 위한 분류 체계
_1.5 성능 그래프 읽기
_1.6 클라우드 시스템의 성능
_1.7 요약
CHAPTER 2 성능 테스트 방법론
_2.1 성능 테스트 종류
_2.2 모범 사례 개론
_2.3 성능 안티 패턴의 원인
_2.4 자바 가상 머신 성능을 위한 통계
_2.5 통계 해석
_2.6 인지적 편향과 성능 테스트
_2.7 요약
CHAPTER 3 자바 가상 머신 개요
_3.1 인터프리팅과 클래스 로딩
_3.2 바이트코드 실행
_3.3 핫스팟 소개
_3.4 JIT 컴파일 소개
_3.5 자바 가상 머신 메모리 관리
_3.6 스레딩과 자바 메모리 모델
_3.7 자바 가상 머신 모니터링 또는 도구
_3.8 자바 구현, 배포 또는 릴리스
_3.9 요약
CHAPTER 4 가비지 컬렉션 이해하기
_4.1 마크 앤 스윕 소개
_4.2 가비지 컬렉션 용어집
_4.3 핫스팟 런타임 소개
_4.4 할당과 수명 주기
_4.5 약한 세대 가설
_4.6 핫스팟의 프로덕션 가비지 컬렉션 기술
_4.7 병렬 컬렉터
_4.8 할당의 역할
_4.9 요약
CHAPTER 5 고급 가비지 컬렉션
_5.1 트레이드오프와 플러그형 컬렉터
_5.2 동시 가비지 컬렉션 이론
_5.3 G1
_5.4 셰넌도어
_5.5 ZGC
_5.6 Balanced(이클립스 OpenJ9)
_5.7 니치 핫스팟 컬렉터
_5.8 요약
CHAPTER 6 자바 가상 머신에서 코드 실행
_6.1 전통적인 자바 애플리케이션 수명 주기
_6.2 바이트코드 해석 개요
_6.3 핫스팟에서의 JIT 컴파일
_6.4 자바 프로그램 실행의 진화
_6.5 요약
CHAPTER 7 하드웨어와 운영 시스템
_7.1 현대 하드웨어 소개
_7.2 메모리
_7.3 현대 프로세서의 특징
_7.4 운영 체제
_7.5 간단한 시스템 모델
_7.6 요약
CHAPTER 8 클라우드 스택의 구성 요소
_8.1 클라우드 스택을 위한 자바 표준
_8.2 클라우드 네이티브 컴퓨팅 재단
_8.3 가상화
_8.4 이미지와 컨테이너
_8.5 네트워킹
_8.6 Fighting Animals 예제 소개
_8.7 요약
CHAPTER 9 클라우드에서의 자바 배포
_9.1 로컬 환경에서 컨테이너 작업하기
_9.2 컨테이너 오케스트레이션
_9.3 배포 기술
_9.4 자바 특화 고려 사항
_9.5 요약
CHAPTER 10 관측성 소개
_10.1 관측성이 중요한 이유
_10.2 세 가지 핵심 요소
_10.3 관측성 아키텍처 패턴과 안티 패턴
_10.4 관측성 기반의 애플리케이션 문제 진단
_10.5 상용 솔루션과 오픈 소스 소프트웨어
_10.6 요약
CHAPTER 11 자바에서 관측성 구현
_11.1 마이크로미터 소개
_11.2 자바 개발자를 위한 프로메테우스 소개
_11.3 오픈텔레메트리 소개
_11.4 자바에서 오픈텔레메트리 추적 적용
_11.5 자바에서 오픈텔레메트리 지표 적용
_11.6 자바에서 오픈텔레메트리 로그 적용
_11.7 요약
CHAPTER 12 프로파일링
_12.1 프로파일링 소개
_12.2 GUI 기반 프로파일링 도구
_12.3 샘플링과 세이프포인트 편향
_12.4 최신 프로파일러
_12.5 JDK Flight Recorder(JFR)
_12.6 프로파일링의 운영적 측면
_12.7 메모리 프로파일링
_12.8 요약
CHAPTER 13 동시성 성능 기법
_13.1 병렬 처리 소개
_13.2 자바 메모리 모델의 이해
_13.3 동시성 라이브러리 구축
_13.4 동시성 라이브러리 요약
_13.5 실행기와 작업 추상화
_13.6 가상 스레드
_13.7 요약
CHAPTER 14 분산 시스템 기법과 패턴
_14.1 기본적인 분산 데이터 구조
_14.2 합의 프로토콜
_14.3 분산 시스템 예제
_14.4 Fighting Animals 개선
_14.5 요약
CHAPTER 15 현대적 성능과 미래
_15.1 새로운 동시성 패턴
_15.2 파나마
_15.3 라이덴
_15.4 발할라
_15.5 결론
Appendix A 마이크로벤치마킹
Appendix B 성능 안티 패턴
클라우드 시대의 자바, 한계를 뛰어넘는 최적화의 기술
클라우드 환경에서의 자바 성능 최적화는 단순한 코딩 기술을 넘어 인프라 전반에 걸친 깊이 있는 이해와 지속적인 관리가 요구되는 영역입니다. 이 책은 클라우드 네이티브 환경에서 자바를 효과적으로 활용하는 방법과 성능 최적화 전략을 체계적으로 다룹니다. 단순히 자바 개발자만을 위한 내용에 국한되지 않고, 클라우드 환경에서 시스템 최적화와 성능에 궁금증을 가진 모든 분께 유익한 길잡이가 될 것입니다.
JVM의 메모리 관리와 가비지 컬렉션부터 클라우드 환경에서의 배포 및 관측 가능성, 프로파일링, 병렬 처리 기법과 분산 시스템 패턴까지 폭넓게 다룹니다. 특히 성능 테스트 방법론, 하드웨어 및 운영 체제와의 상호작용, 컨테이너와 가상화 기술 등 현실적이고 실무적인 주제들을 꼼꼼하게 다룹니다. 더 나아가 현대적인 자바 애플리케이션 개발과 배포 전략, 마이크로서비스 환경에서의 성능 이슈와 해결 방법 등 현장에서 즉시 적용할 수 있는 유용한 지침도 담고 있습니다. 이 책은 여러분의 실무 역량을 한 단계 높이는 데 큰 도움이 될 것입니다.
예약판매 안내
온라인 주문시 "2025-05-30 출고" 예상(출고 후 1~2일 이내 수령) - 내부 사정으로 출시가 지연될 수 있습니다.
구매한 도서중 예약도서가 포함되어 있을 경우, 예약도서 출고일에 함께 배송됩니다.