청구할인 안내(인터파크 제휴카드) | 안내
삼성카드 3% (3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (최대할인 3만원 / 3만원 이상 결제)
Close

2013년 9월 9일 이후 누적수치입니다.

자바 성능 튜닝 이야기 [개정판]

판매지수 109
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
  • 저 : 이상민
  • 출판사 : 인사이트
  • 발행 : 2013년 10월 26일
  • 쪽수 : 488
  • 제품구성 : 전1권
  • ISBN : 9788966260928
정가

28,000원

  • 25,200 (10%할인)

    1,400P (5%적립)

  • (2건)

    25,200원 ~(10%할인)

    [특급]

  • 중고판매

    이 책을 인터파크에
    판매하세요

배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(72)

  • 사은품(4)

책소개

'자바 성능 튜닝 이야기'는 이처럼 고성능 애플리케이션을 위해 고려해야 할 복잡한 요소와 성능 개선 방법을 쉽게 이해할 수 있도록 이야기 형식으로 풀어 나가면서, 개발 초기 단계부터 성능을 위해 고려해야 할 점을 하나하나 짚어 준다. 장애를 일으키는 반복적인 코딩 이슈부터 시스템 진단, 튜닝 방법에 이르기까지 성능 개선에 필요한 핵심 정보를 정리했으며, 수년간에 걸친 저자의 경험을 토대로 실무에 적용 가능한 튜닝 노하우가 고스란히 녹아 있다.

출판사 서평

일러두기
이 책은 2008년 한빛 미디어에서 발간한 『자바 성능을 결정짓는 코딩 습관과 튜닝 이야기』의 개정판입니다

초,중급 개발자도 쉽게 접근할 수 있게 돕는 성능 튜닝 노하우!

자바 애플리케이션의 성능은 언제나 중요한 문제이지만, 막상 개발하는 단계에서는 성능을 고려하지 못하는 경우가 많다. 게다가 좋은 성능을 내는 애플리케이션은 개발 언어, 아키텍처, 프레임워크 등 기술에 대한 깊은 이해는 물론 다양한 프로젝트의 경험을 바탕으로 한 상황 판단에 의해 완성되므로, 초, 중급 개발자들에게 진입 장벽이 높은 업무다.

이 책에서 다루는 내용
-프로파일링 툴, System 클래스로 프로그램 속도 개선하기
-메모리에 영향을 주는 String 클래스
-ArrayList, HashMap, 배열의 성능 차이
-성능을 향상시키는 for문과 static
-성능에 영향을 주는 클래스와 synchronized
-성능 이슈를 줄이는 로그 사용 방법
-JSP, 서블릿, Spring에서 발생하는 문제점
-DB를 사용하면서 발생하는 문제점
-서버 설정
-안드로이드 개발 시 고려해야 할 사항
-GC(Garbage Collection) 튜닝
-JMX 모니터링
-애플리케이션에서 점검해야 할 대상들

목차

story 01. 디자인 패턴, 꼭 써야 한다.
적어도 MVC 모델은 적용해야죠
J2EE 디자인 패턴이란?
Transfer Object 패턴
Service Locator 패턴

story 02. 내가 만든 프로그램의 속도를 알고 싶다.
프로파일링 툴이란?
System 클래스
System.currentTimeMillis와 System.nanoTime

story03. 왜 자꾸 String을 쓰지 말라는 거야?
String 클래스를 잘못 사용한 사례
StringBuffer 클래스와 StringBuilder 클래스
String vs StringBuffer vs StringBuilder
버전에 따른 차이

story04. 어디에 담아야 하는지
Collection 및 Map 인터페이스의 이해
Set 클래스 중 무엇이 가장 빠를까?
List 관련 클래스 중 무엇이 빠를까?
Map 관련 클래스 중에서 무엇이 빠를까?
Collection 관련 클래스의 동기화

story05. 지금까지 사용하던 for 루프를 더 빠르게 할 수 있다고?
조건문에서의 속도는?
반복 구문에서의 속도는?
반복 구문에서의 필요 없는 반복

story06. static 제대로 한번 써 보자.
static의 특징
static 잘 활용하기
static 잘못 쓰면 이렇게 된다.
static과 메모리 릭

story07. 클래스 정보, 어떻게 알아낼 수 있나?
reflection 관련 클래스들
reflection 관련 클래스를 사용한 예
reflection 클래스를 잘못 사용한 사례

story08. synchronized는 제대로 알고 써야 한다.
자바에서 스레드는 어떻게 사용하나?
interrupt() 메서드는 절대적인 것이 아니다.
synchronized를 이해하자.
동기화는 이렇게 사용한다 - 동일 객체 접근 시
동기화는 이렇게 사용한다 - static 사용 시
동기화를 위해서 자바에서 제공하는 것들
JVM 내에서 synchronization은 어떻게 동작할까?

story09. IO에서 발생하는 병목 현상
기본적인 IO는 이렇게 처리한다.
IO에서 병목이 발생한 사례
그럼 NIO의 원리는 어떻게 되는 거지?
DirectByteBuffer를 잘못 사용하여 문제가 발생한 사례
lastModified() 메서드의 성능 저하

story10. 로그는 반드시 필요한 내용만 찍자.
System.out.println()의 문제점
System.out.format() 메서드
로그를 더 간결하게 처리하는 방법
로거 사용시의 문제점
로그를 깔끔하게 처리하게 도와주는 slf4j와 LogBack
예외 처리는 이렇게

story11. JSP와 서블릿, Spring에서 발생할 수 있는 여러 문제점
JSP와 Servlet의 기본적인 동작 원리는 꼭 알아야 한다.
적절한 include 사용하기
자바 빈즈, 잘 쓰면 약 못쓰면 독
태그 라이브러리도 잘 써야 한다.
스프링 프레임워크의 간단 정리
스프링 프레임워크를 사용하면서 발생할 수 있는 문제점들

story12. DB를 사용하면서 발생 가능한 문제점들
DB Connection과 Connection Pool, DataSource
DB를 사용할 때 닫아야 하는 것들
JDK 7에서 등장한 AutoClosable 인터페이스
ResultSet.last() 메소드
JDBC를 사용하면서 유의할 만한 몇 가지 팁

story13. XML과 JSON도 잘 쓰자.
자바에서 사용하는 XML 파서의 종류는?
SAX 파서는 어떻게 사용할까?
DOM 파서는 어떻게 사용할까?
XML 파서가 문제가 된 사례
JSON과 파서들
데이터 전송을 빠르게 하는 라이브러리 소개

story14. 서버를 어떻게 세팅해야 할까?
설정해야 하는 대상
아파치 웹 서버의 설정
웹 서버의 Keep Alive
DB Connection Pool 및 스레드 개수 설정
WAS 인스턴스 개수 설정
Session Timeout 시간 설정

story15. 안드로이드 개발하면서 이것만은 피하자.
일반적인 서버 프로그램 개발과 안드로이드 개발은 다르다.
구글에서 이야기하는 안드로이드 성능 개선
안드로이드 분석에 도움이 되는 기본적인 툴들
안드로이드 앱의 상황을 확인 하는 방법은?
systrace를 활용하자.
안드로이드에서는 이미지 처리만 잘해도 성능이 좋아진다.

story16. JVM은 도대체 어떻게 구동될까?
HotSpot VM은 어떻게 구성되어 있을까?
JIT Optimizer라는 게 도대체 뭘까?
JRockit의 JIT 컴파일 및 최적화 절차
IBM JVM의 JIT 컴파일 및 최적화 절차
JVM이 시작할 때의 절차는 이렇다.
JVM이 종료될 때의 절차는 이렇다.
클래스 로딩 절차도 알고 싶어요?
예외는 JVM에서 어떻게 처리될까?

story17. 도대체 GC는 언제 발생할까?
GC란?
자바의 Runtime data area는 이렇게 구성된다.
GC의 원리
GC의 종류
5가지 GC 방식
강제로 GC 시키기

story18. GC가 어떻게 수행되고 있는지 보고 싶다.
자바 인스턴스 확인을 위한 jps
GC 상황을 확인하는 jstat
jstat 명령에서 GC 튜닝을 위해서 가장 유용한 옵션은 두 개
원격으로 JVM 상황을 모니터링하기 위한 jstatd
verbosegc 옵션을 이용하여 gc 로그 남기기
어설프게 아는 것이 제일 무섭다.

story19. GC 튜닝을 항상 할 필요는 없다.
GC 튜닝을 꼭 해야 할까?
GC의 성능을 결정하는 옵션들
GC 튜닝의 절차
1, 2 단계: GC 상황 모니터링 및 결과 분석하기
3-1단계: GC 방식 지정
3-2 단계: 메모리 크기
4단계: GC튜닝 결과 분석

story20. 모니터링 API인 JMX
JMX란?
MBean에 대해서 조금만 더 자세히 알아보자.
Visual VM을 통한 JMX 모니터링
원격으로 JMX를 사용하기 위해서는

story21. 반드시 튜닝 해야 하는 대상은?
반드시 튜닝해야 하는 대상 선정
왜 로그인 화면을 튜닝(분석)해야 하는가?
쇼핑몰 사이트에서는

story22. 어떤 화면이 많이 쓰이는지 알고 싶다.
웹 로그란?
웹 로그를 통해서 접근 통계를 분석하기 싫다면…

story23. 튜닝의 절차는 그때 그때 달라요.
성능 튜닝을 위한 아주 기초 법칙
성능 튜닝 Step by step
성능 튜닝의 비법

story24. 애플리케이션에서 점검해야 할 대상들
패턴과 아키텍처는 잘 구성되어 있는가?
기본적인 애플리케이션 코딩은 잘 되어 있는가?
웹 관련 코딩은 잘 되어 있는가?
DB 관련 코딩은 잘 되어 있는가?
서버의 설정은 잘 되어 있는가?
모니터링은 어떻게 하고 있는가?

부록 A. JMH 설치 및 설정 방법
부록 B. jstat 옵션
부록 C. Cache의 활용

저자소개

생년월일 -
출생지 -
출간도서 0종
판매수 0권

삼성 SDS에서 개발을 시작하여, Naver의 성능 엔지니어링 팀에서 일했다. 지금은 NHN엔터테인먼트에서 협업 도구인 두레이(Dooray!)를 개발하고 있다. [자바 성능 튜닝 이야기], [자바 개발자와 시스템 운영자를 위한 트러블슈팅 이야기] 등 다수의 IT 서적을 집필하였다.

이 상품의 시리즈

Programming Insight 시리즈(총 79권 / 현재구매 가능도서 72권)

펼쳐보기

리뷰

0.0 (총 0건)

기대평

작성시 유의사항

평점
0/200자
등록하기

기대평

0.0

교환/환불

교환/환불 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

교환/환불 가능 기간

고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

교환/환불 비용

고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

교환/환불 불가사유

반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

소비자 피해보상

소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

기타

도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

배송안내

  • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

  • 배송비

도서(중고도서 포함) 구매

2,000원 (1만원이상 구매 시 무료배송)

음반/DVD/잡지/만화 구매

2,000원 (2만원이상 구매 시 무료배송)

도서와 음반/DVD/잡지/만화/
중고직배송상품을 함께 구매

2,000원 (1만원이상 구매 시 무료배송)

업체직접배송상품 구매

업체별 상이한 배송비 적용