Java Performance Fundamental

김한도 | 엑셈 | 2023년 11월 06일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 30,000원

전자책 정가 21,000원

판매가 21,000원

도서소개

JVM의 체계적인 지식을 제공하여 Java를 사용하는 분들께 성능에 대한 기반지식을 쌓도록 돕는다. 그 동안 잘 다루어 지지 않은 JVM의 메커니즘에 대한 이야기로 가득차 있다. Java 개발자, 운영자, 성능 관리자들이 골머리를 썩여왔던 메모리 문제, Garbage Collection에 대한 주제는 물론이고 JIT Compiler 등 용어로 치부했던 것들에 대한 자세한 설명을 수록하였다. 그리고 JDBC에 대한 설명과 함께 Oracle을 Datasource로 이용하여 SQL을 수행할 때 WAS와 같은 Java Application과 Oracle에는 어떤 일이 벌어지는 지를 테스트를 통해 상세하게 밝혔다. 또한 이를 바탕으로 Oracle JDBC의 성능을 개선시키는 방안도 모색하고 있어, Java Perdormance 를 위한 좋은 안내자가 되는 책이다.

저자소개

저자: 김한도
엑셈에서 오라클 및 자바 성능 관리 컨설팅 및 기술 지원을 담당하였고, 현재는 교육컨텐츠팀의팀장으로 재직하고 있다. 현재는 주로 지식 컨텐츠 생산 및 교육을 담당하고 있고 기술을 통해 엑셈을 알리는 일을 하고 있다. Oracle 성능으로 IT업계에 발을 들여 놓은 저자는 [OWI를 활용한 오라클 진단 & 튜닝]의 번역에 참가하였고, 뒤이어 다년간의 성능 분석의 경험을 체계화 한 [Oracle 성능 분석 방법론]이라는 책을 출간하였다. 그 후 관심 분야를 Java로 옮겨 서비스 기반의 성능을 고민하고 있다. 엑셈은 이러한 저자의 꿈을 실현하는 든든한 버팀목이다. 엑셈과 저자는 꿈을 공유하며 같이 성장하고 있다. 블로그[ http://performeister.tistory.com ]와 트위터[ http://twitterkr.com/novathinker ] 를 통해 저자를 온라인으로 만날 수 있습니다.

목차소개

이 책은 크게 두 부분으로 나누어 진다. 한 부분은 JVM Internal이다. 1장 부터 6장에 해당한다. 그리고 7장에서는 JDBC와 Datasource로서 Oracle를 사용할 때의 성능 문제에 대해 다루고 있다.


1장. Java란 무엇인가
Java란 무엇이며 JVM은 Java에서 어떠한 의미를 가지고 있는 지에 대해 설명하고 있다.
Java Architecture
The Java Programming Language
The Java Class File Format
The Java Application Interface
The Java Virtual Machine (JVM)


2장. Runtime Data Areas
2장은 JVM의 메모리 구조인 Runtime Data Areas에 대한 설명을 하고 있다. 크게는4개의 모듈로 나누어 지는 Runtime Data Areas를 부분 별로 자세히 다루고 있다. 그리고 나서 우리가 프로그램을 수행할 때 Runtime Data Areas에서는 어떻게 데이터들이 움직이는 지를 간단한 예제를 통해 알아본다.
Runtime Data Areas의 구조
PC Register
Java Virtual Machine Stacks
Native Method Stack
Method Area
Java Heap
Runtime Data Areas Simulation


3장. Garbage Collection
3장은 Garbage Collection에 대해 설명한다. 먼저 JVM에서 사용하는 Garbage Collection 뿐만 아니라 일반적인 Garbage Collection의 Algorithm을 상세히 알아본다. 그 후 Hotspot JVM의 Heap구조와 Garbage Collector를 설명하고 Generation별로 어떻게 동작하는 지에 대해 설명한다. 이어 IBM JVM에 대한 Heap 구조와 Garbage Collector에 대해서도 설명한다.
Garbage Collection 이란?
Garbage Collection 의 대상
Garbage Collection 의 기본 Algorithm
Hotspot JVM의 Garbage Collection
Serial Collector
Incremental Collector
Parallel Collector
CMS Collector
Parallel Compaction Collector
o Garbage First Collector
IBM JVM의 Garbage Collection
Optimize for Throughput Collector
Optimize for Pause Time Collector
Generational Concurrent Collector
Subpool Collector


4장. Class Loader
4장은 Class Loader를 다루고 있다. Class Loader란 무엇이고 Class가 어떻게 JVM안으로 들어와 메모리의 일부로 동작하는지에 대해 상세하게 설명하고 있다. 그리고 Java 5에서 새로 소개된 Class Sharing에 대해서도 다루고 있다.
Class Loader
Namespace
o Class Loader Delegation Model
Class Sharing
Class Loader Work
Loading
Linking
Initialization


5장. Execution Engine
5장은 Execution Engine에 대한 내용이다. Class파일에 저장되어 있는 Bytecode를 해석하는 방법을 JIT Compiler와 Hotspot Compiler의 동작과정을 통해 자세히 알아본다.
Execution Engine
IBM JIT Compiler
Hotspot Compiler


6장. Thread Synchronization
6장은 Thread Synchronization이다. 여기서는 Java에서 Thread라는 것은 어떻게 관리되어 왔으며 동기화는 어떤 역할을 하는지를 설명한다. 더 나아가 JVM의 버전이 올라가면서 추가된 Hotspot JVM의 Biased Lock이나 IBM JVM의 Lock Reservation에 대해서도 설명하고 있다.
Java의 Thread
Java Synchronization
Hotspot JVM Synchronization
IBM JVM Synchronization


7장. Oracle As DataSource
7장은 처음에는 JDBC에 대한 얘기로 시작한다. 그리고 Oracle JDBC Driver에 대한 설명을 진행하고 여러 Oracle JDBC Driver 중 성능의 차이를 테스트를 통해 알아보게 된다. 그리고 Oracle에서 SQL이 수행될 때 Oracle 내부에서는 어떠한 일이 벌어지는지를 살펴보고, Java에서 SQL을 수행할 때와 어떤 차이가 있는지를 테스트를 통해 비교해 본다. 그리고 나서 JDBC에서 제공하는 여러 튜닝 기능이 어떻게 성능에 영향을 주게 되는지를 테스트한다. 이를 통해 이 기능들이 어느 부분에 얼마만큼의 성능 개선을 하게 되는 지를 실감할 수 있게 된다.
JDBC Overview
Oracle JDBC Driver
Java SQL Execution
Java SQL Performance


Index
참고문헌

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!