JVM 밑바닥까지 파헤치기

자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성
$51.92
SKU
9788966264414
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Thu 12/5 - Wed 12/11 (주문일로부 10-14 영업일)

Express Shipping estimated by Mon 12/2 - Wed 12/4 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/04/30
Pages/Weight/Size 188*240*32mm
ISBN 9788966264414
Categories IT 모바일 > 프로그래밍 언어
Description
“자바 가상 머신의 깊숙한 내부를 향해 떠나는 흥미진진한 모험”

C·C++를 사용해 주로 프로그래밍을 하던 시절 까다로운 메모리 관리와 플랫폼 이식성 문제는 개발자들에게 적지 않은 부담이었다. 그런 상황에서 “한 번 작성하면 어디서든 실행된다”라는 구호와 함께 등장한 자바는 획기적인 언어로 여겨졌다. 그리고 그 구호를 현실로 만든 토대가 된 기술이 바로 자바 가상 머신(JVM)이다. JVM 덕분에 개발자들은 자동 메모리 관리와 플랫폼 독립성이라는 선물을 받은 듯했지만 낮은 성능과 메모리 부족 오류 같은 대가를 치러야 했다. 그리고 오늘날까지도 그런 문제에서 자유롭지 못한 것이 현실이다. 이러한 문제를 해결하려면 JVM이 복잡한 저수준 문제를 어떻게 처리하는지 그 핵심 원리를 익혀야 한다.

『JVM 밑바닥까지 파헤치기』는 JVM의 네 가지 주요 주제라 할 수 있는 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성의 핵심 동작 원리를 살펴보면서 이러한 원리들이 실제 자바로 작성된 소프트웨어가 실행되는 데 어떤 식으로 영향을 미치며, 개발 현장에서 부딪히는 문제들에 JVM 동작 메커니즘을 어떤 식으로 적용해 볼 수 있을지 소개하고 있다. 먼 옛날 아기자기한 애플릿을 만들던 시절을 지나 이제는 인터넷 세상의 한편을 떠받치는 언어로 성장한 자바를 이용해 탄탄한 시스템을 구축하고자 하는 개발자들은 이 책을 통해 많은 아이디어와 영감을 얻을 수 있을 것이다.
Contents
옮긴이의 말
서문
감사의 말

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장 클래스 로딩과 실행 서브시스템, 사례와 실전
9.1 들어가며
9.2 사례 연구
9.3 실전: 원격 실행 기능 직접 구현하기
9.4 마치며

4부 컴파일과 최적화

10장 프런트엔드 컴파일과 최적화

10.1 들어가며
10.2 javac 컴파일러
10.3 자바 편의 문법의 재미난 점
10.4 실전: 플러그인 애너테이션 처리기 제작
10.5 마치며

11장 백엔드 컴파일과 최적화
11.1 들어가며
11.2 JIT 컴파일러
11.3 AOT 컴파일러
11.4 컴파일러 최적화 기법
11.5 실전: 그랄 컴파일러 깊이 이해하기
11.6 마치며

5부 효율적인 동시성

12장 자바 메모리 모델과 스레드

12.1 들어가며
12.2 하드웨어에서의 효율과 일관성
12.3 자바 메모리 모델
12.4 자바와 스레드
12.5 자바와 가상 스레드
12.6 마치며

13장 스레드 안전성과 락 최적화
13.1 들어가며
13.2 스레드 안전성
13.3 락 최적화
13.4 마치며

부록 약어 목록
찾아보기
Author
저우즈밍,이복연
원광소프트웨어연구소(YGSOFT) 소장. 오픈 소스 기술의 적극적인 옹호자이자 홍보자이며, 특히 인공 지능, 자바, 엔터프라이즈 개발, 애자일 등 분야에 깊은 통찰력을 가지고 있다. [InfoQ]와 [IBM DeveloperWorks]에 기술 칼럼을 여러 편 기고했다. 지은 책으로는 『JVM 밑바닥까지 파헤치기』와 『OSGi 심층 이해』 등이 있으며, 『자바 가상 머신 명세』를 중국어로 번역했다. 『JVM 밑바닥까지 파헤치기』 초판은 2011년에 출간된 후 개정을 거듭하며 수십만 부가 판매되어 중국 컴퓨터 서적 분야에서 보기 드문 걸작으로 인정받고 있다.
원광소프트웨어연구소(YGSOFT) 소장. 오픈 소스 기술의 적극적인 옹호자이자 홍보자이며, 특히 인공 지능, 자바, 엔터프라이즈 개발, 애자일 등 분야에 깊은 통찰력을 가지고 있다. [InfoQ]와 [IBM DeveloperWorks]에 기술 칼럼을 여러 편 기고했다. 지은 책으로는 『JVM 밑바닥까지 파헤치기』와 『OSGi 심층 이해』 등이 있으며, 『자바 가상 머신 명세』를 중국어로 번역했다. 『JVM 밑바닥까지 파헤치기』 초판은 2011년에 출간된 후 개정을 거듭하며 수십만 부가 판매되어 중국 컴퓨터 서적 분야에서 보기 드문 걸작으로 인정받고 있다.