복잡한 문제는 언제나 간단하고 단순하며 예상 외의 해결책이 있다. (H.L. Menchen)
자바 퍼포먼스 튜닝 (개정판): 성능 향상을 위한 205가지 핵심 기법
『자바 퍼포먼스 튜닝』의 개정판인 이 책은 모든 종류의 자바 성능 문제를 해결하는 데 필요한 폭넓고 중요한 지침을 제공한다. 실제 세계의 예를 사용하여 튜닝 절차를 상세하게 기술하면서 객체 생성, 문자열 대신 사용하는 배열 등 코드의 성능을 높일 수 있는 갖가지 기법을 다룬다. 특히 무엇을 튜닝해야 하는지, 무엇은 튜닝해서는 안 되는지에 대한 조언을 하고 있으며, 동시에 최소한의 코드 수정을 통해 큰 효과를 볼 수 있는 기술들을 강조한다. 이 책은 프로
- 저자 : 잭 시라지(Jack Shirazi)
- 번역 : 서민구
- 출간 : 2003-10-06
자바가 초창기의 단순한 애플릿 언어로 시작했을 때부터 속도 문제는 가장 큰 걸림돌이었습니다. 비록 현재 소프트웨어의 발전 속도보다 하드웨어의 발전속도가 몇 십년 앞서 있기 때문에 초기의 “자바는 느리다” 라는 편견은 이제 더 이상 무의미 하게 되었지만 그래도 JVM위에 올라가는 순수 자바 애플리케이션은 느리긴 느리지요..^^;;
이 책은 2001년 1판에 이어 J2EE부분을 추가하여 2003년에 새롭게 번역된 개정판입니다. 처음 이책을 접하게 된 동기는 그래! 이제 나도 무작정 프로그램을 작성하기 보다는 한 줄을 코딩 하더라도 좀더 효율적이고 성능면에서 나은 코드를 작성해 보자라는 순진한(?) 의도 였습니다. 물론 이책을 읽으면서 저의 지식의 한계를 느끼게 해주는 책이 였지요. 사실 요새 자바를 가지고 특정 클라이언트 애플리케이션을 개발하기 보다는 웹 프로그래밍이나 J2EE단의 비즈니스 로직에 사용되는 코드를 작성하는 것이 대부분이라 이책의 내용이 바로 실무에 적용되는 것은 무리일 듯 싶습니다. 사실 SQL 튜닝 같은 것은 실무에 바로 적용 가능한 것이 많겠지만 이러한 자바 전반에 대한 튜닝 책은 국내에서 이책밖에 보지 못했을 뿐더러 실무에 적용하려면 상당한 수준에 실력을 요구한다는 생각이 들었습니다.
그래서 단순히 전 아주 간단한 진리(?) 같은 것들을 코딩에 적용해 볼 수 있었습니다. 알고도 기존의 편리함 때문에 적용하지 않았던 것들이었죠.
1. 반복문 안에 들어 가는 조건 문에서 메소드의 사용은 좋지 않다.
=> fot ( int I =0 ; I < test.length() ;I ++) 같은 경우
2. String 보다는 StringBuffer와 Append() 메소드를..(append()가 좀 귀찮죠)
개인 적인 경험이지만 몇 십 줄의 SQL문의 String을 StringBuffer로 변경하면 가독성을 더 좋게 만들 수도 있더군요. 아무튼 1판에서는 아주 간단하고 많은 사람들이 알고 있는 이런 지식 밖에 얻을 수 없었습니다. 물론 저의 지식의 한계도 있었구요.. ^^;; 보통은 자신의 관련 부분에만 집중하기 때문에 책의 모든 내용들이 도움이 된다고 말할 수는 없습니다.
2판의 경우 번역도 새롭게 되고 J2EE관련 부분이 추가 되었습니다. 제가 일일이 비교해본 결과 2판의 번역이 부드럽고 양도 많아졌습니다. 대략 100페이지 분량의 JDBC, Servlet, JSP, EJB 튜닝 기법이 추가되어 있습니다. 사실 이 부분에 대해서는 기대를 많이 했었고 이책을 구입한 주된 이유였지만 제가 생각하는 부분은 아니었습니다. 1판의 많은 튜닝 기법들이 자바 버전대로 비교 분석하여 수치화 시킨 표를 제공하고 있지만 추가된 분량의 부분에서는 다소 상위 레벨의 튜닝 기법(단순히 말뿐인..)이 소개되어 있습니다. 물론 J2EE인 경우 하나의 구조 이기 때문에 단순히 비교는 어렸습니다만 그래도 욕심이 좀..
1판의 시절(원서 출판 시점)과는 달리 지금은 현재는 인터넷이 없는 프로그래밍은 상상도 할 수 없을 정도까지 되었기 때문에 이책에서 새로운 환경에 대한 최적화 기법을 기대하였는데요 만약 저 같은 기대를 가지고 이 책을 읽는다면 그리 얻을 수 있는 것이 없을 것 같습니다. 책은 좋지만 너무 아쉬운 부분입니다. 물론 J2EE도 자바로 구성된 구조이고 앞선 튜닝 기법이 내부에서 적용된다면 J2EE도 자연히 최적화된 성능을 낼 수 있다고 저자 분이 말씀하셨는데요 맞는 얘기지만 그리 마음에 와 닿지 않는 이유는 저도 잘 모르겠습니다. 차라리 개정판이 1판의 원서 출간 이후의 나온 자바 버전 성능표를 추가만 한 것 이었다면 개정된 내용만 해서 조그마한 단행본으로 출간했으면 어떨까 하는 생각도 듭니다. 마케팅 전략이긴 하지만 성능향상을 위한 205가지 기법은 어떤 기준인지 모르겠네요.. 아마도 소제목 기준인 것 같은데 세어 볼까 하다가 그냥 포기 했습니다..
좋은 책이고 우리나라에서는 이런 책이 나올 수 있을까? 라는 생각이 들 정도로 고급수준의 책이지만 정작 실무에서 바로 응용해 보기에는 독자의 수준에 의존하기 때문에 적합치 않을 수, 특히 웹 프로그래밍 쪽에서, 있겠구나 라는 생각이 듭니다. 단순히(?) 웹과 관련되어 J2EE쪽에 계신 분들에게는 적합하지 않다는 생각이 들지만 자바 언어 전반에 대해 관심을 가지고 계시거나 실력이 어느 정도 쌓이고 중급 이상으로 가시려는 분들에게는 많은 도움이 될 것 같은 책입니다.
서평을 쓰다 보니 제목과는 전혀 관계 없는 글이 되어 버렸군요.. -_-;; 책의 한 챕터를 시작할 때 마다 쓰여 있는 어구를 인용해 봤습니다..