Optimizing Java

김동균·2024년 3월 28일

자바 최적화(Optimizing Java) 표지

운영중인 서비스에서는 항상 예상하지 못한 여러가지 문제 상황들이 발생한다.
서버, 데이터베이스와 같은 물리적인 시스템, 혹은 WAS, JVM 와 같은 가상화 레벨에서의 CPU, Memory 등 자원의 병목, 스레드간의 데드락 혹은 스레드 풀 과부화로 인한 요청 처리 실패나 지연시간 증가, Memory Leak 등으로 인한 OOM, 네트워크 대역폭 제한 초과 등..

이런 문제들을 식별하고 분석하기 위해 Amazon CloudWatch, APM 의 Metric, Indicator 를 자주 참고하는데, 문제의 원인과 현상을 혼동하지 않기 위해서는 Metric 수치가 어떻게 도출되었는지, 저수준에서 발생하는 일련의 과정들을 이해하고 있어야 한다고 생각한다.

그런 맥락에서 이 책이 도움이 되고, 책을 통해 다음 지식들을 얻을 수 있다.

  • Java 성능 측정 지표
  • JVM 내부 구성과 동작 방식
  • 성능 테스트 방법론과 안티패턴
  • 동적인 JVM 기반의 마이크로벤치마크의 어려움과 유스케이스
  • Garbage Collection 의 원칙과 프로세스
  • Garbage Collector 의 여러 종류와 트레이드오프, 종류별 튜닝 포인트
  • 인터프리터와 JIT 컴파일을 통한 JVM 코드 실행
  • JIT 컴파일 최적화 기법
  • Java Collection 최적화 기법
  • 동시성 처리 기법과 Java 의 추상화된 동시성 라이브러리
  • 실행, 할당 프로파일링 기법과 프로파일러 종류
  • 고성능 시스템에서의 고려사항
profile
소프트웨어 엔지니어

0개의 댓글