ssisks***
2019-06-04

성능 튜닝은 실험과학이다. 추측과 구전 튜닝에 의존할 일이 아니다. 이 책은 복잡한 기술 스택을 다루는 중/고급 자바 개발자에게 정량적이고 검증 가능한 접근 방식으로 자바 애플리케이션 성능을 튜닝하는 방법을 알려준다. 성능 튜닝은 원하는 결과를 정의하고 결정하는 과정이다. 자바 성능에 관한 대부분 자료는 자바 가상 머신 이론과 내부의 모습을 살펴보는 데 그치지만, 이 책은 레시피, 팁/트릭, 알고리즘 등 다양한 부문을 살펴보며 성능 튜닝의 실용적 측면을
자바 최적화에 큰 관심이 있지는 않지만, 그 안이 어떤 형태로 움직이는 지는 관심이 많다.
예전에는 Unsafe클래스라던가, ASM이라던가 정말 주위 사람들이 쓸모없는 기술이라 자신하는 것들을 많이 탐했었다.
그것들을 잘 이해하지 못하면서 탐했던 이유는 역시나... 재미라는 것이다.
내가 하는 일이 무엇인지 제대로 알고 싶은 마음 때문이다.
이 책이 나의 그런 마음을 어느 정도는 정리되게 해준다.
모든 내용을 다 읽지는 못했지만, 이런 최적화 방법에 대한 이야기를 여타 다른 선임 개발자들에게 들어본 적도 없고 대부분 경시하는 내용이기 때문에.
이 책은 나의 배고픔에 적당한 배부름을 줄 거라고 생각한다.
이 책은 확실하게 알려준다. 무엇이 어떻게 돌아가는지, 어떻게 확인하는지, 이해가 안되는 것같으면 조용히 그림을 보여준다. 게다가 컬러로!
컬러 그림이 들어간 자바책이라니, 그건 입문서에나 있는 것이다.
꽤나 사람들에게 생소한 이야기를 좀 더 재미있는 놀이처럼 보이게 하려는 저자의 마음이 들어 있는게 아닐까 생각된다.
맞다 이것은 자바 최적화 입문서다. 그리고 최적화를 할 필요가 없더라도, 최적화를 하는 방법을 읽다보면, 내가 자바를 더 잘 이해하게 되는 것 같아진다.
그리고 꼭 이런 내용이 자바에만 국한될까. 자바와 비슷한 언어도 비슷한 방식으로 최적화 할 것이다. 혹은 JVM을 사용하는 언어도 비슷한 방식으로 돌아갈 것이다.
이 책을 구매하기 전에 꼭 알아야 할 점이 있다.
1. 떠먹여 주는 책은 아니다.
위 글에서 컬러그림 같은 것들이 있다고 아주 쉽게 설명되어 있다고 생각하면 안된다. 이 내용은 쉬운 내용이 아니다. 그리고 그것을 어린아이 가르치듯 설명해서는 안된다. 이 주제는 진지한 주제이며, 쉽게 흥얼흥얼 거리면서 읽을 수 있는 책의 성질을 가지고 있지 않다.
2. 자습서가 아니라 사전이다.
이 책은 1장을 읽고 2장을 읽고... 뭐 이런 순서가 있는 책이 아니다. 필요할 때 차례를 보고 나에게 필요해 보이는 몇 개를 메뉴처럼 선택해서 읽는 것이 가능하다. JVM이라는 주제는 JAVA라는 언어를 공부하는 것과 다른 것일까? 자바라는 언어를 배우듯이 만들어졌으면 더 좋았을 것 같다는 생각이 든다.
이 정도가 나의 사견이다. 누누히 말하지만 이 책은 떠먹여 주는 책이 아니다. 기어이 떠먹으려는 사람들을 위한 책이다.
이 책은 자바개발자에게 유용하다. 자바 개발자로서 삶의 여분의 시간이 있다면 이 책을 읽기 딱 좋은 시간일 것이다.