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

한빛출판네트워크

IT/모바일

더 빠른 자바 애플리케이션을 만들어보고 싶다면?

한빛미디어

|

2003-10-11

|

by HANBIT

9,451

90년대 중반이후 자바가 널리 사용되기 시작하면서 자바 개발자들은 항상 성능에 문제와 씨름해야 했다. 이와 마찬가지로 자바 개발 도구도 급속한 발전을 거듭하여 SDK 1.4에까지 이르게 되었다. 『자바 퍼포먼스 튜닝, 개정판』의 저자 잭 시라지(Jack Shirazi)는 이 책에서 다음과 같은 말을 했다. “병목현상을 해소하기 위해 프로그램 코드를 튜닝하는 과정은 아직까지 속도와 성능향상의 핵심요소이다. 특히 J2EE 애플리케이션에서는 더 그렇다. 따라서 자바 애플리케이션의 퍼포먼스 튜닝작업은 중요하다.”

이번 개정판에서 저자는 실무 예제를 들어 객체 생성을 최소화하고 배열로 스트링을 대체하는 방법으로 자바 애플리케이션, 애플릿, 서블릿, 빈, 라이브러리 및 기타 컴포넌트에 해당하는 코드를 향상시킬 수 있는 방법을 보여준다. 300여 가지 이상의 튜닝 테크닉이 수록된 이 책은 어떤 것들을 튜닝하고, 또 어떤 것은 남겨두어야 할 것인가에 대한 평이한 접근법을 제시하면서, 프로그램을 더 빨리 실행시키기 위해 변경된 사항들로 인해 버그가 발생하고 관리하기 어려운 코드가 생성된다는 점을 지적하고 있다. 이런 상황에서 저자는 최소한의 코드 재구성을 통해 엄청난 퍼포먼스 향상을 가져올 수 있는 기술을 소개한다.

개발자들이라고 해서 퍼포먼스가 저조한 이유를 항상 명확히 알고 있는 것은 아니다. 저자는 자신의 저서에 대해 “이 책은 특정 자바 애플리케이션이 예상했던 것 보다 왜 천천히 작동되는지 잘 설명해줄 뿐만 아니라 이러한 취약점을 극복하고 피하는 방법도 잘 설명하고 있어 궁극적으로 퍼포먼스를 향상시킬 수 있는 방법을 잘 안내해주고 있다.”라고 언급하였다.


자바 퍼포먼스 튜닝 (개정판): 성능 향상을 위한 205가지 핵심 기법

참고 도서

자바 퍼포먼스 튜닝 (개정판): 성능 향상을 위한 205가지 핵심 기법
잭 시라지(Jack Shirazi)




위와 같은 사항 외에도 이 책은 가장 최신 버전인 J2SE에 대한 언급과 함께 서버 I/O 퍼포먼스의 심각한 문제를 설명하고 있다. 또한 최신 자바 가상 머신을 사용하여 객체 생성 및 가비지 컬렉션을 향상하는 방법에 대해 설명하고 있다. 이 외에도 저자는 다음과 같은 언급을 덧붙였다. “J2EE 새 버전은 J2EE 애플리케이션과는 엄청나게 다를 수도 있는 애플리케이션 파티셔닝 문제를 지정한다. 그렇지만 비옵션 코딩과 자바 실행 시스템에서의 오버헤드는 여전히 느리다는 단점을 가지고 있다.”

이 책은 골 셋팅, 퍼포먼스 측정 및 컴파일러 선택에서부터 프로파일링 사용에 대한 상세한 예제와 코드를 튜닝하기 위한 해결책 적용에 이르기까지 퍼포먼스 튜닝과 관련된 모든 사항들을 단계별로 하나씩 설명하고 있다. 이제 막 자바를 시작한 초급자들보다는 튜닝 지식이 거의 없는 개발자나 아키텍처 전문가들에게 추천할만한 책이다. 모든 데스트 결과들은 SDK 1.4로 출시된 머신들을 포함하여 최신 자바 가상 머신을 사용하여 업데이트하였다.

또한 개정판에서는 J2EE에 적합한 애플리케이션을 튜닝하는 정보가 추가되었다. 다른 책에서 흔히 볼 수 있는 서블릿과 JSP를 빠르게 하는 방법, JDBC 용법을 효율적으로 구조화 하는 방법, 엔터프라이즈 자바빈즈 퍼포먼스를 최적화하기 위해 효율적으로 디자인 패턴을 적용하는 방법은 물론이고 분산 시스템의 퍼포먼스를 최적화하는 방법에 대해서도 잘 설명하고 있다.

이 책은 저자의 웹 사이트(JavaPerformanceTuning.com)를 통해 이 책이 베스트셀러가 되었다고 해도 무방하다. 저자는 초기에 자바를 채택하여 일했던 컨설턴트 시절에 겪었던 경험에 대해 다음과 같은 언급을 한 적이 있다. “오래 전에 있었던 일입니다. 애플리케이션을 빠르게 돌릴 수 있는 스위치가 있다고 생각하는 고객과 일했던 적이 있죠. 그 고객은 정말로 그런 기능을 가진 스위치가 어딘가에 숨겨져 있을 것이라고 생각하고 있더군요. 사실 그런 스위치는 없습니다. 그렇지만 그런 스위치와 동일한 기능을 발휘하는 아주 간단한 기술은 있지요.”

이 책의 초판에 대한 독자들의 찬사는 다음과 같았다.

“고통을 감수하고 자바로 거대한 애플리케이션을 작성해낸다고 하더라도 여러분의 상사는 속도가 너무 느리다며 투덜댈 것이다. 이런 사람들이 반드시 찾게되는 책이 있는데 그게 바로 이 책이다.” C/C++ 사용자 저널의 마크 브리안드

2주간 자바 애플리케이션에 매달려 이제 겨우 테스트를 눈앞에 두고 있다치자. 윈도우가 웹 사이트를 다운시키는데 10분 정도 걸린다면 별로 신경 쓸 문제는 아닐 것이다. 3시간 후에도 프로그래밍 여전히 실행되고 있다면 슬슬 걱정되기 시작할 것이다. 대형사고를 치기 전에 이 책부터 읽어보자. 애플리케이션의 퍼포먼스를 한번에 확 향상시킬 야심을 가진 개발자들을 위한 책이 바로 이 책이다. 코드에 푹 빠져들 자신이 있는 사람들만 보기 바란다. 깔끔하게 잘 정리되어 있을 뿐만 아니라 정말 재미있는 책이다. 이 책에 제시된 다양한 예제들이 보여주는 퍼포먼스 향상법을 보면서 내 자신의 실력도 함께 향상됨을 느낄 수 있었다. ─ www.javaranch.com에서 토마스 폴

숙련된 자바 개발자라면 프로그램 효율을 최대화하고 여기에 퍼부은 돈에 부합되는 가치를 최대화하는데 최고의 리소스로 이 책을 추천할 것이다. 이 책만큼 애플리케이션의 성능향상 기술에 깊이 있게 접근한 책은 없다. 개발팀 멤버들에게 하나씩 돌려보아도 좋을 책이다. 별 다섯 개! ─ 자바월드(JavaWorld)
TAG :
댓글 입력
자료실

최근 본 상품0