-
-
자바 최적화 - 클라우드 시대의 자바 성능 튜닝을 위한 실용적인 기법, 2판
벤저민 J. 에번스 외 지음, 오지영 외 옮김 / 한빛미디어 / 2025년 5월
평점 :


자바는 블루칼라 언어입니다. 박사 논문용이 아닌 실용적인 일을 위한 언어입니다. 이 말은 자바의 아버지인 제임스 고슬링이 한 말입니다. 이러한 철학으로 자바의 가장 큰 강점은 한 번 작성하면 어디에서나 실행 가능 한점이죠. 자바 가상 머신(JVM)을 통해 다양한 운영체제에서 동일한 코드를 실행할 수 있어 소프트웨어 개발과 배포에 실용적입니다. 또한 자바의 초기 성능 관점은 환경이 충분히 빠르다면 원시 성능을 어느정도 희생하더라도 개발 생산성을 높이것에 중요하다라는 것이었습니다.
개발자가 세부적인 저수준 제어를 포기하는 대신, 관리되는 기능의 내부 동작을 걱정하지 않아도 되는 구조 입니다. 대표적인 예는 메모리관리 부분입니다. 자바 가상 머신은 가비지 컬렉션 서브시스템을 통해 자동으로 메모리 관리해 프로그래머가 메모리를 수동으로 추적할 필요가 없습니다. 그러나 이러한 자동화는 때로 성능 저하로 이어질 수 있으므로 체계적인 성능 측정과 최적화가 필수적입니다. 이를 도와줄 책이 나왔습니다. 바로 자바 최적화 책인데요. 자세히 알아보도록 하겠습니다.

1) 오라클이 선정한 자바 전문가
자바 챔피언은 자바 생태계 발전에 탁월한 기여와 영향력을 인정받아 오라클이 공식 선정하는 세계적 수준의 자바 전문가입니다. 자바 공화국인 우리나라에서 자바챔피언은 다소 생소합니다. 2명만 있기 때문인데요. 국내 최초는 한국자바개발자협의회 양수열 회장(2005)님과 Netty의 개발자로 오픈소스계의 전설인 이희승님(2020)이 있습니다. 자바 최적화 2판 책의 두명의 저자인 벤저민 J. 에번스(2013), 제임스 고프(2020)도 자바 챔피언입니다. 벤저민 J.에번스는 JVM 전문가로 MS가 인수한 jClartiy의 공동 창립자였습니다. 한편 마이크로소프트가 인수한 jClarity의 기술력을 바탕으로 개발된 GC 분석 툴이 GCToolkit입니다. 또한 공저자인 제임스 고프는 OpenJDK 프로젝트에 기여한 바있습니다.

2) 1판과 2판의 차이점
자바 최적화 1판(2018)은 JVM의 구조, JIT 컴파일러, GC, 스레딩 등 Java 성능의 근본 원리를 깊이 있게 다룹니다. 물리적인 서버에서 클라우드로 운영 방식이 변경 됨에 따라 2판에서는 클라우드 네이티브 환경(컨테이너, 마이크로서비스, 분산 시스템)에서의 Java 성능 최적화에 초점을 맞춥니다. 즉 1판은 JVM 중심의 전통적 성능 최적화 이론과 방법론에 집중한다면 2판은 클라우드 환경에서 실전적 성능 관리와 최신 기술 트렌드를 포괄적으로 다룹니다.