도서상세보기

도서명 JVM 밑바닥까지 파헤치기 : 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성
저자 저우즈밍
출판사 인사이트
출판일 2024-04-30
정가 43,000원
ISBN 9788966264414
수량

옮긴이의 말
서문
감사의 말

1부 자바와 친해지기
1장 자바 기술 시스템 소개
1.1 들어가며
1.2 자바 기술 시스템
1.3 자바의 과거와 현재
1.4 자바 가상 머신 제품군
1.5 자바 기술의 미래
1.6 실전: 내 손으로 빌드하는 JDK
1.7 마치며

2부 자동 메모리 관리
2장 자바 메모리 영역과 메모리 오버플로
2.1 들어가며
2.2 런타임 데이터 영역
2.3 핫스팟 가상 머신에서의 객체 들여다보기
2.4 실전: OutOfMemoryError 예외
2.5 마치며
3장 가비지 컬렉터와 메모리 할당 전략
3.1 들어가며
3.2 대상이 죽었는가?
3.3 가비지 컬렉션 알고리즘
3.4 핫스팟 알고리즘 상세 구현
3.5 클래식 가비지 컬렉터
3.6 저지연 가비지 컬렉터
3.7 적합한 가비지 컬렉터 선택하기
3.8 실전: 메모리 할당과 회수 전략
3.9 마치며
4장 가상 머신 성능 모니터링과 문제 해결 도구
4.1 들어가며
4.2 기본적인 문제 해결 도구
4.3 GUI 도구
4.4 핫스팟 가상 머신 플러그인과 도구
4.5 마치며
5장 최적화 사례 분석 및 실전
5.1 들어가며
5.2 사례 분석
5.3 실전: 이클립스 구동 시간 줄이기
5.4 마치며

3부 자동 메모리 관리
6장 클래스 파일 구조
6.1 들어가며
6.2 플랫폼 독립을 향한 초석
6.3 클래스 파일의 구조
6.4 바이트코드 명령어 소개
6.5 설계는 공개, 구현은 비공개
6.6 클래스 파일 구조의 진화
6.7 마치며
7장 클래스 로딩 메커니즘
7.1 들어가며
7.2 클래스 로딩 시점
7.3 클래스 로딩 처리 과정
7.4 클래스 로더
7.5 자바 모듈 시스템
7.6 마치며
8장 바이트코드 실행 엔진
8.1 들어가며
8.2 런타임 스택 프레임 구조
8.3 메서드 호출
8.4 동적 타입 언어 지원
8.5 스택 기반 바이트코드 해석 및 실행 엔진
8.6 마치며
9장 클래스 로딩과 실
“자바 가상 머신의 깊숙한 내부를 향해 떠나는 흥미진진한 모험”

C·C++를 사용해 주로 프로그래밍을 하던 시절 까다로운 메모리 관리와 플랫폼 이식성 문제는 개발자들에게 적지 않은 부담이었다. 그런 상황에서 “한 번 작성하면 어디서든 실행된다”라는 구호와 함께 등장한 자바는 획기적인 언어로 여겨졌다. 그리고 그 구호를 현실로 만든 토대가 된 기술이 바로 자바 가상 머신(JVM이다.
JVM 덕분에 개발자들은 자동 메모리 관리와 플랫폼 독립성이라는 선물을 받은 듯했지만 낮은 성능과 메모리 부족 오류 같은 대가를 치러야 했다. 그리고 오늘날까지도 그런 문제에서 자유롭지 못한 것이 현실이다. 이러한 문제를 해결하려면 JVM이 복잡한 저수준 문제를 어떻게 처리하는지 그 핵심 원리를 익혀야 한다.
《JVM 밑바닥까지 파헤치기》는 JVM의 네 가지 주요 주제라 할 수 있는 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성의 핵심 동작 원리를 살펴보면서 이러한 원리들이 실제 자바로 작성된 소프트웨어가 실행되는 데 어떤 식으로 영향을 미치며, 개발 현장에서 부딪히는 문제들에 JVM 동작 메커니즘을 어떤 식으로 적용해 볼 수 있을지 소개하고 있다.
먼 옛날 아기자기한 애플릿을 만들던 시절을 지나 이제는 인터넷 세상의 한편을 떠받치는 언어로 성장한 자바를 이용해 탄탄한 시스템을 구축하고자 하는 개발자들은 이 책을 통해 많은 아이디어와 영감을 얻을 수 있을 것이다.