메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

자바는 정말 느린 언어일까?

platanu***

|

2025-06-27

자바 최적화(2판)

자바 성능 튜닝, 소문과 감에 의존하지 말고 과학적으로 접근하라! 구체적인 사례와 코드로 배우는 클라우드 네이티브 자바 실전 가이드

  • 저자 : 제임스 고프 , 벤저민 에번스
  • 번역 : 오지영 , 송지헌
  • 출간 : 2025-05-30

**한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.**

 

많은 개발자들은 자바를 “느리고 무겁다”고 말합니다. 높은 메모리 사용량, 기동 시간 지연, GC 일시정지 등은 자바의 고질적인 단점처럼 여겨지곤 하죠. 하지만 그 모든 성능 이슈를 단순히 “자바라서”라고 말할 수 있을까요? 이 책 『자바 최적화』는 그러한 고정관념을 깨부수며, 자바 성능 문제를 시스템 전체 흐름 속에서 조망할 수 있게 돕는 드문 책입니다.

 

책의 전반부는 자바 애플리케이션이 느려지는 이유를 JVM 내부 구조, 현대 CPU 아키텍처, 메모리 계층, OS 스케줄링, GC 등 다층적인 관점에서 설명합니다. 1~3장은 단순한 JVM 튜닝 팁이 아니라, 성능 병목을 “언어 + 하드웨어 + 실행환경”의 상호작용으로 분석하는 시각을 길러줍니다. 테스트 도구의 사용법보다는 문제를 해석하고 대응하는 사고방식에 집중한다는 점이 특히 인상 깊었습니다.

 

중반부(4~6장)에서는 자바가 가진 ‘무거움’의 근본 원인을 해결하기 위한 방법으로 GraalVM 네이티브 이미지와 AOT 컴파일을 깊이 있게 다룹니다. 단순한 실습서가 아닌, 설정 오류나 리플렉션 누락 등 실제 실무에서 마주칠 수 있는 문제들을 직접 짚고 해결해나가는 방식은, 마치 현업 컨설팅을 받는 듯한 생생함이 있습니다. 특히 --no-fallback, resource-config.json, 초기화 시점 조정 같은 실전 팁은 GraalVM 도입을 고민 중인 개발자에게 실질적인 도움이 될 것입니다.

 

후반부(8~10장)는 컨테이너 환경에서의 자바 운영, 즉 관측 가능성(Observability) 확보에 초점을 맞춥니다. 지표, 로그, 추적의 3요소를 어떻게 조합해 문제를 진단하고 조치로 연결할 수 있을지를 실제 사례와 함께 설명합니다. 단순히 도구 설명을 넘어 “이상 징후를 미리 감지하려면 어떤 흐름을 따라야 하는가?”라는 관점은 운영과 개발을 아우르는 시사점을 줍니다.

 

마지막 장(5장)은 자바의 미래—가상 스레드(Project Loom), 외부 메모리 및 함수 연동(Project Panama), 값 타입과 메모리 모델(Project Valhalla)—에 대한 기대와 도전 과제를 소개합니다. 특히 가상 스레드는 고병렬 환경에서 기존 플랫폼 스레드의 한계를 넘는 방식으로 자바의 동시성 모델을 근본적으로 변화시킬 가능성을 보여주며, StructuredConcurrency나 Carrier Thread 등의 신개념도 실무 맥락에서 접근해 볼 수 있게 정리되어 있습니다.


이 책은 단순한 자바 튜닝 매뉴얼이 아닙니다. 오히려 “성능 문제를 어떻게 바라보고, 어떤 흐름으로 접근할 것인가”에 대한 철학적 태도와 구체적 실천을 동시에 담은 기술서입니다. 자바 개발자로서 성능 병목을 겪어본 적이 있다면, 혹은 “내 코드가 왜 느린지 설명하기 어려웠던” 경험이 있다면 이 책은 강력한 통찰을 제공해 줄 것입니다.

 

**한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.**

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?